[JS]数据类型

…衆ロ難τιáo~ 提交于 2020-02-27 01:43:39

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

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!