ES6新增的JavaScript基本数据类型及示例代码

414 篇文章 ¥29.90 ¥99.00
本文介绍了JavaScript ES6中新增的五种基本数据类型:Symbol用于唯一标识符,Set实现无重复值集合,Map提供键值对存储,WeakSet和WeakMap则引入了弱引用的概念,为开发者提供了更多灵活的编程选择。

JavaScript是一门广泛应用于Web开发的脚本语言,它拥有多种数据类型用于存储不同类型的数据。在ES6(ECMAScript 2015)中,新增了一些基本数据类型,本文将介绍这些新增的数据类型并提供相应的示例代码。

  1. Symbol(符号)
    Symbol是ES6引入的一种新的基本数据类型,用于表示独一无二的标识符。每个通过Symbol函数创建的Symbol值都是唯一的,可以用作对象的属性名,以避免属性名冲突。

示例代码:

const id = Symbol('id');
const user = {
   
   
  [id]</
ES6 定义了 7 种数据类型,其中包含 6 种原始数据类型和 1 种对象类型,分别是:Boolean、Null、Undefined、Number、String、Symbol、Object [^4]。 这几种数据类型的具体情况如下: - **Null**:是一个关键字,是一个值数据类型,参与判断时返回 false,没有方法,转换为数字时为 0,`typeof null` 返回 `'object'` [^4]。 - **Undefined**:不是关键字,是一个值数据类型,参与判断时返回 false,没有方法,转换为数字时是 `NaN`,`typeof undefined` 返回 `'undefined'` [^4]。 - **Boolean**:即 `true` 和 `false`,是两个值的数据类型,主要用于判断。正常情况下,只有空字符串、`null`、`undefined`、`0`、`-0`、`NaN` 这六种情况会转为 `false`,可以使用 `Boolean()` 或 `!!()` 把一个数组转换为布尔值 [^4]。 - **Number**:包含整数、浮点数、`NaN`。ES6 不区分整型和浮点型,所有数字都使用 `number` 类型来表示。使用 `number` 时建议尽量使用十进制,少用十六进制,不用八进制;使用浮点数时不要进行数据比较,例如 `0.1 + 0.2` 不要与 `0.3` 进行比较,因为计算机采用二进制表示数据,`0.1` 的二进制表示数加上 `0.2` 的二进制表示数不等于 `0.3` 的二进制表示数 [^2][^4]。 - **String**:用于表示文本数据 [^1]。 - **Symbol**:是 ES6 新增的原始数据类型,表示独一无二的值,最大的用法是用来定义对象的唯一属性名 [^1]。 - **Object**:属于复杂数据类型,细分有 `object`、`array`、`function`、`date` 等 [^3]。 此外,ES6新增了 `BigInt` 类型。在 JavaScript 中的数字类型是按照 IEEE 754 - 2008 标准的定义,所有数字都以双精度 64 位浮点格式表示,任何超出此范围的整数值都可能失去精度,因此需要 `BigInt` 来增加程序可靠性和安全性 [^5]。 ### 代码示例 ```javascript // null let nullValue = null; console.log(typeof nullValue); // object console.log(Boolean(nullValue)); // false console.log(Number(nullValue)); // 0 // undefined let undefinedValue; console.log(typeof undefinedValue); // undefined console.log(Boolean(undefinedValue)); // false console.log(Number(undefinedValue)); // NaN // Boolean let trueValue = true; let falseValue = false; console.log(typeof trueValue); // boolean // Number let integer = 10; let float = 3.14; let nanValue = NaN; console.log(typeof integer); // number // String let str = "Hello, ES6"; console.log(typeof str); // string // Symbol let sym = Symbol('key'); console.log(typeof sym); // symbol // Object let obj = { name: 'John' }; console.log(typeof obj); // object // BigInt let bigIntValue = 12345678901234567890n; console.log(typeof bigIntValue); // bigint ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值