JavaScript 中的变量可以保存任何数据。JavaScript 是动态类型语言,变量可以任意改变数据类型:
1 let message = 'hello'; 2 lmessage = [1, 2, 3] 3 console.log(message); // [1, 2, 3]
JavaScript 中共有有八种基本的数据类型。
number类型
number类型代表整数和浮点数,数字可以有很多操作,例如加法 + 、减法 - 、乘法 * 、除法 / 等等。
其中包括三个特殊的数值 "Infinity" 正无穷大 、''-Infinity" 负无穷大、"NaN" 非数值。
其中 NaN 表示一个计算错误,是由不正确的或者未定义的数学操作得来的,且具有粘性,即如果计算过程中出现一个NaN,就会导致最终结果也是NaN。
1 let a = "hello"; 2 let b = 2; 3 console.log(a / 2); // NaN 4 console.log(a / 2 + 3); //NaN
BigInt类型
最近javascript才引入BigInt类型,它表示一个任意长度的整数。通常在整数字段末尾加上n来创建BigInt。
1 // 尾部加上n表示这是 BigInt 类型 2 const BigInt = 45687965412365478n;
注意:目前只能兼容Chrome和Firefox。
String类型
JavaScript 中的字符串必须被括在引号里。
1 let str1 = 'hello'; // 单引号 2 let str2 = "hi"; // 双引号 3 let phrase = `${str1}!,${str2}!`; // 反引号 4 console.log(phrase); // hello!,hi!
单引号和双引号都只是简单引用,没有区别。
反引号是功能扩展引号,只有它允许我们将变量和表达式包装进 ${} 嵌入字符串中,例如:
1 let name = "neal"; 2 console.log("hi,${neal}"); // hi,${neal} 3 // 嵌入变量 4 console.log(`hi,${name}`); // hi,neal 5 // 嵌入表达式 6 console.log(`it's ${12 + 1} now`); // it's 13 now
Boolean类型(逻辑类型)
Boolean类型包括 true 和 false 两个值。
布尔值可以用作比较的结果:
1 let isSmaller = 1 < 2; 2 console.log(isSmaller); // true
本身也表示是否正确,true 正确,false 不正确。
"null"
null最特殊,不属于上面任意一种类型,它构成了一个独立的类型,只有一个值null,仅仅表示为“无”、空“”或者“值未知”。
1 let image = null;
"undefined"
undefined也是自成一类,表示未被赋值。
如果一个变量被声明,没有被赋值,那么它的值就是undefined:
1 let i; 2 console.log(i) // undefined
object类型
object是一个特殊的类型,其他的所有数据类型都是“原生类型”,因为它们的值只包含一个单独的内容,object则用于存储数据集合和复杂的实体。
我们可以通过使用带有可选属性列表的花括号 {···} 来创建对象。一个属性就是一个键值对(“key: value”),其中键(key
)是一个字符串(也叫做属性
名),值(value
)可以是任何值。
1 let obj = {name: "jack", age: 18}; 2 let obj2 = {country: "china", city: ["chengdu", "chongqing"]}; 3 let obj3 = {country: "china", province: {"sichuan": "chengdu"}};
symbol
symbol是一种标识符,表示这个值是唯一的,不能够被修改。
1 let s1 = Symbol(1); 2 let s2 = Symbol(1); 3 console.log(s1 === s2); // false
来源:https://www.cnblogs.com/feng-fengfeng/p/12370147.html