程序处理的每个值都有类型(data type)。类型区分数字、文字、真假以及“暂时没有值”等状态。JavaScript 与 C、C++、Java 一样需要区分数据类型,但 JavaScript 是动态类型语言:变量本身不固定为某一种类型,当前保存的值决定运行时类型。
常见基本类型包括:number(整数和小数)、string(文字)、boolean(true 或 false)、undefined(尚未赋值)和 null(明确的空值)。数组、函数和普通对象属于 object 一类。typeof 可以查看运行时类型。
变量
使用 let 声明以后还会重新赋值的变量,使用 const 声明不会重新指向其他值的绑定。
let score = 10;
console.log(score); // 10
score = 12;
const course = "JavaScript";
console.log(typeof course); // stringconst 必须在声明时初始化,也不能再次赋值。它不代表对象内部永远不能变化;数组章节会进一步说明。初学阶段可优先使用 const,确定需要重新赋值时再使用 let。应避免旧式 var,因为它的作用域规则更容易造成混淆。
知识测验
题目
执行 const num = 10 后,typeof num 返回什么?
变量命名规范
变量名可以包含字母、数字、下划线和 $,不能以数字开头,也不能使用保留关键字。JavaScript 区分大小写,所以 score 和 Score 是两个名字。常见写法使用 lowerCamelCase,例如 studentName、totalScore。
知识测验
题目
下面哪个变量名符合 JavaScript 规则并采用常见的 lowerCamelCase 风格?
JavaScript 关键字
关键字由语言保留,不能作为变量名。常见关键字包括 let、const、if、else、switch、for、while、break、continue、function、return、class、try 和 catch。
const userName = "Lin"; // 合法
// const if = true; // 错误:if 是关键字知识测验
题目
为什么不能把 if 当作普通变量名?