js基本数据类型有哪些

Z, ZLW 4556

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 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部