任何一个对象的成员要么是数据成员,要么是函数成员。但无论是函数据成员还是函数,在本质上都是一个“键-值”对,“键”是这个成员的名字,“值”是这个成员的内容。对于函数成员来说,“键”是函数的名字,“值”是函数的“地址”。因此,只要能够描述一个函数的名字和这个函数将要执行的操作就可以了。
Set集合中的元素是唯一的
ECMAScript 6提供了Set构造函数,创建set对象
Set集合 - 值(唯一的)的集合
应用 – 利用set集合为数组元素去重
const arr = [1,2,3,3,4,5,2];
let set1 = new Set(arr);
console.log(set1); // Set { 1,2,3,4,5 }
- NaN、 undefined等值允许被存储在Set集合中
在Set集合中,NaNNaN undefinedundefined null==null
console.log(undefined === undefined); // true
let set2 = new Set([NaN,NaN,undefined,undefined,null,null]);
console.log(set2); // Set { NaN, undefined, null }
- set集合中存储复杂数据类型(数组、对象及函数等)
- 空数组和空对象表示多个值 []![] {}!{}
- 多个函数也表示多个值 function(){} !== function(){
-
console.log([] === []); // false console.log({} === {}); // false console.log(function(){} === function(){}); // false let set3 = new Set([[],[],{},{},function(){},function(){}]); console.log(set3); // Set { [], [], {}, {}, [Function], [Function] }