基本使用
字符串就是“人类的自然语言”,用 typeof 检测会返回 string。字符串的字面量由引号包裹,双引号或
者单引号均可。例如:
typeof "爱前端"; // string
typeof '爱前端' // string
在 JavaScript 中,引号的作用就是字符串的定界符。所谓“定界符”就是设定界限的符号。引号告诉计算
机,字符串从何处开始,从何处结束。
所以,在任何需要使用字符串的地方,一定要加记得给它加上引号,比如下面的程序是错误的:
console.log(JavaScript); //引发错误
我们试图输出字符串“JavaScript”但是忘记了加上引号,此时 JavaScript 将被视为一个变量,而这个
变量却没有被定义,当然会引发错误。正确的写法是:
console.log("JavaScript"); //JavaScript
还需注意的是,数字 11 和字符串“11”在语义上是不同的,前者表达一个数量,后者是一个文本。比如我
们说“桌上有 11 个苹果”,数字 11 表示的是数量;而某个小朋友的小名叫做“依一”,她用“11”当做自己
的昵称,这里的“11”就不是数量,而是一个字符串了。例如:
typeof 11; //number
typeof "11"; //string
使用 REPL 环境测试本程序
字符串中插入变量
当我们需要将一个变量的值“插入”到字符串中的时候,需要用“+”号进行连字。比如:
var year = 2018;
var str = " 今年是" + year + " 年";
console.log(str);
变量 year 的值是 2018,现在要将这个数字变量插入到字符串中,则必须使用“+”号来进行连字。
JavaScript 规定,只有加号左右两边都是数字类型值的时候,才表示数学上“加”的含义,比如 3+4 等;
其他情况下就是“连字符”的功能。这里形成了字符串、数字、字符串的三者连字。
我们将字符串拆分为两个部分,然后用加号将字符串和变量进行了连接,这是唯一正确的办法。字符串中绝
对不能直接放入变量,比如:
var year = 2018;
var str = "今年是 year 年"; //year 是字符串的一部分,不是变量了
console.log(str); //今年是 year 年
可见,字符串"今年是 year 年"被看做了一个整体,里面的 year 就是一个文字了,失去了变量的意义。
所以,如果要往一个字符串中插入变量,必须要先“斩断”这个字符串,然后用加号“连接”上变量。这种
“斩断连接”的手段在编程的时候非常常见。
布尔型
除了数字、字符串之外,编程中还有一种常用的数据类型“布尔型”,布尔型值只有两个:true 和 false,
分别表示“真”和“假”。布尔型的命名是为了纪念 19 世纪英国逻辑学家乔治·布尔,由于他在符号逻辑运算
中的特殊贡献,很多计算机语言中将逻辑运算称为布尔运算,将其结果称为布尔值。
用 typeof 检测 true 和 false 会返回 boolean:
typeof true; //boolean
typeof false; //boolean
使用 REPL 环境测试本程序
true 和 false 本身就是值,不能给这两个值加上引号。如果加上引号,它们将成为字符串,而不再是布尔
值了。例如:
typeof "true"; //string
在后面要学习的选择语句和循环语句中,布尔类型值会被大量使用。
undefined 型
一个没有被赋值的变量会有个默认值 undefined。undefined 值是 undefined 类型的。即 undefined 所
属的类型和它本身同名。
typeof undefined; //undefined
使用 REPL 环境测试本程序