JS的ES6的Symbol
一.Symbol
1.什么是Symbol:
Symbol是ES6新添加的原始类型(ES5已有原始数据类型:String,Number,boolean,function,undefined,object{对于null ,Array()的typeof都是object})
2.Symbol类型的特点:
-
Symbol属性对应的值是唯一的,解决命名冲突问题
-
Symbol值不能与其他数据类型进行计算,包括同字符串拼接
-
for in,for of遍历时都不会遍历Symbol属性。
3.Symbol使用:
-
调用Symbol函数得到symbol值
-
传参标识
-
内置Symbol值
1 //调用Symbol函数得到symbol值,传参标识 2 let symbol = Symbol("symbol1"); 3 console.log(typeof symbol); //symbol 4 console.log(symbol); //Symbol(symbol1) 5 6 let obj = {username: 'kobe', age: 39}; 7 //内置Symbol值 8 obj[Symbol.iterator] = function(){}; //不规则或特殊的属性 9 console.log(obj);