3. 数据类型——number/bigint/string/bool/null/undefined/object/symbol
(1)JS采用动态类型,支持一下操作:
let message="一二三";
message=123;
数字---------------- ----------------
“特殊数值(“special numeric values”)
Infinity、-Infinity 和 NaN。
(1/0)=Infinity;NaN代表不正确或未定义的数学操作所带来的结果
<数学运算是安全的>
在 JavaScript 中做数学运算是安全的。
我们可以做任何事:除以 0,将非数字字符串视为数字,等等。
脚本永远不会因为一个致命的错误(“死亡”)而停止。
最坏的情况下,我们会得到 NaN 的结果。
BigInt
(相当于long long int,但范围不同)
字符串---------------- ----------------
单引号和双引号几乎没有区别,表示一般引用
反引号'`':
alert(`Hello,${name}!`);
alert(`Hello,${1+2}!`);
逻辑值---------------- ----------------
let isGreater = 4 > 1;
alert( isGreater ); // true(比较的结果是 "yes")
null值---------------- ----------------
let age = null;
相比较于其他编程语言,JavaScript 中的 null 不是一个“对不存在的 object 的引用”或者 “null 指针”。
JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值。
上面的代码表示 age 是未知的。
undefined 值---------------- ----------------
特殊值 undefined 和 null 一样自成类型。
undefined 的含义是 未被赋值。
如果一个变量已被声明,但未被赋值,那么它的值就是 undefined:
……但是不建议这样做。通常,使用 null 将一个“空”或者“未知”的值写入变量中,
而 undefined 则保留作为未进行初始化的事物的默认初始值。
typeof 运算符---------------- ----------------
typeof 运算符返回参数的类型。
当我们想要分别处理不同类型值的时候,或者想快速进行数据类型检验时,非常有用。
对 typeof x 的调用会以字符串的形式返回数据类型
Object 类型和 Symbol 类型---------------- ----------------
object 类型是一个特殊的类型。
其他所有的数据类型都被称为“原始类型”,因为它们的值只包含一个单独的内容(字符串、数字或者其他)。
相反,object 则用于储存数据集合和更复杂的实体。
symbol 类型用于创建对象的唯一标识符。