js基本数据类型有哪些
js的基本数据类型有:1、Number类型;2、String类型;3、Boolean类型;4、Null类型;5、Undefined类型;6、Biglnt类型;7、字符串类型;8、符号类型。其中,Number型变量使用非常广泛,它既可以表示整数,也可以表示小数,同时还能使用指数形式表示更大或更小的值。
1、Number类型
在 JavaScript 代码中,Number类型(数字型)变量的使用非常广泛,它也是最基本的类型,但它的与其他语言的数字类型不同,它并不区别整数型和浮点型,而是统称为浮点型,这种类型既可以表示整数,也可以表示小数,同时还能使用指数形式表示更大或更小的值。
- Number类型包括整数和浮点数(小数);
- JS进行浮点元素运算可能得到一个不精确的值0.1+0.2=0.300000004,不能进行精确度要求比较高的运算;
- NaN表示Not A Number,检查时返回number;
- JS中可以表示的数字最大值:Number.MAX_VALUE:1.79769….e+308(1.79..的308次方)如果使用Number表示的数字超过了最大值,则会返回Infinity(正无穷);最小值-Number.MIN_VALUE,(5e-324,5*10的-324次方,大于0的最小值),如果使用Number表示的数字超过了最小值返回-Infinity(负无穷),Infinity为number数据类型。
2、String类型
String类型(字符串)是由 Unicode 字符、数字、标点符号等组成的序列,在 JavaScript 代码中用于表示 JavaScript 文本的数据类型,字符串型数据通常由单引号或双引号包裹,由双引号定界的字符串中可以再包含有单引号,单引号定界的字符串中也可以再包含有双引号。
- 在js中字符串需要使用引号引起来,单引号和双引号不能混用;
- 引号不能嵌套,可以使用\进行转义。
3、Boolean类型
与数字类型的值不同,Boolean类型(布尔型)变量的值只有固定的两种表示方式,一种是 true,另一种是 false,前者表示真,后者表示假,如果用数字表示,那么,true 可以使用 1 来表示,false 可以使用 0 来表示,布尔型变量的值来源于逻辑性运算符,常用于控制结构流程。
- 布尔值只有两个true/false,主要做逻辑判断;
- 使用typeof检查一个布尔值时返回boolean。
4、Null类型
在 JavaScript 代码中,Null类型(空值型)是一个比较特殊的类型,它只有一个值,就是 null,当引用一个未定义的对象时,则将返回一个这个 null 值, 从严格意义上来说,null 值本质上是一个对象类型,是一个空指针的对象类型。
- Null(空值)类型的值只有一个,null,用来表示一个为空的对象;
- 使用typeof检查时值时返回object,因为null表示空对象NaN、infanity、undefined。
5、Undefined类型
与 Null 型相同,Undefined 型(未定义)也是只有一个 undefined 值,当在编写 JavaScript 代码时,如果定义了一个变量,但没有给它赋值,那么,这个变量将返回 undefined 值,这也是变量默认的值,与 Null 型不同之处在于,Null 型是一个空值,而 Undefined 型表示无值。
- js中输出未被赋值的被定义变量结果是Undefined;Undefined类型的值只有一个。
- 使用typeof检查时值时返回undifine
6、Biglnt类型
BigInt 类型是 JavaScript 中的一个基础的数值类型,可以表示任意精度的整数。使用 BigInt,您可以安全地存储和操作大整数,甚至可以超过数字类型的安全整数限制。
BigInt 是通过在整数末尾附加字母 n 或调用构造函数来创建的。
通过使用常量 Number.MAX_SAFE_INTEGER,您可以获得可以用数字递增的最安全的值。通过引入 BigInt,您可以操作超过 Number.MAX_SAFE_INTEGER 的数字。
以下示例演示了,递增超过 Number.MAX_SAFE_INTEGER 的值可以返回预期的结果:
// BigInt
> const x = BigInt(Number.MAX_SAFE_INTEGER);
9007199254740991n
> x + 1n === x + 2n; // 9007199254740992n === 9007199254740993n
false
// Number
> Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2; // 9007199254740992 === 9007199254740992
true
可以对 BigInt 使用运算符 +、*、-、** 和 %,就像对数字一样。BigInt 严格来说并不等同于一个数字,但它也同样可以轻松地使用。
在将 BigInt 转换为 Boolean 时(例如:if、||、&&、Boolean 和 !),它的行为类似于一个数字。
BigInt 不能与数字相互运算。否则,将抛出 TypeError。
7、字符串类型
JavaScript 的字符串类型用于表示文本数据。它是一组 16 位的无符号整数值的“元素”。在字符串中的每个元素占据了字符串的位置。名列前茅个元素的索引为 0,下一个是索引 1,依此类推。字符串的长度是它的元素的数量。
不同于一些编程语言(例如,C 语言),JavaScript 的字符串是不可更改的。这意味着字符串一旦被创建,就不能被修改。
但是,可以基于对原始字符串的操作来创建新的字符串。例如:
- 获取一个字符串的子串可通过选择个别字母或者使用
String.substr()。 - 两个字符串的连接使用连接运算符(
+)或者String.concat()。
8、符号类型
符号(Symbols)类型是少数且不可修改的原始值,并且可以用来作为对象的键 (key)(如下),在某些语言当中也有与之相似的类型(原子类型,atoms)。
拓展阅读
什么是JavaScript
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

