Symbol:
- ES6 新的原始数据类型,通过Symbol函数生成
let sym = Symbol('foo')//描述Symbol的字符串用于区分,传入对象等会自动转为字符串
sym.description// “foo” - 表示独一无二的值,每一个 Symbol 值都是不相等的,用于避免对象属性名冲突.
- 它是一种类似于字符串的数据类型,而完全不同于对象
- 不在循环遍历中出现,可使用Object.getOwnPropertySymbols()获取
- 阮一峰的Symbol
Map:
- Map类似于对象,JS对象键必须是字符串或者symbol,map的键可以是任意值
- Map是一组键值对的结构,相对于数据具有极快的查找速度。
new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);// {"Michael" => 95, "Bob" => 75, "Tracy" => 85}
Set:
- Set类似于数组,但是它里面每一项的值是唯一的,没有重复的值。js中的数组可以放入各种数据类型的数据
- 举一个例子
var arr = [1, 2, 3.14, 'Hello', null, true]; - Map存放键值对,
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]); - Set中存放键值,
var s2 = new Set([1, 2, 3]); // 含1, 2, 3
参考博文
本文介绍了ES6中的新数据类型Symbol,用于创建唯一标识,不参与遍历且不可变。同时讲解了Map数据结构,其键值对不限于字符串,查找速度快。还探讨了Set集合,保证每个元素唯一,适用于存储不重复值。这些特性在对象管理和数据操作中非常实用。
485

被折叠的 条评论
为什么被折叠?



