ES6Symbol

<!DOCTYPE html>
<html>
<head>
<title>ES6 Symbol</title>
<script type="text/javascript">
//一种特殊的数据类型Symbol 

//定义
let sym = Symbol('aaa');
//注意
//1.Symbol不能new
//2.Symbol()返回的是一个唯一的值 常作为一个key 放在json中key不可见(私有)迭代不出来
//3.symbol是一个单独的数据类型
//使用
let json={
a:'apple',
[sym]:'这个是Symbol的value'
};
let json1={
a:'apple',
b:'bbbbbb'
};
console.log(json);
//输出结果: a: "apple"Symbol(aaa): "这个是aaa"
console.log(json.sym);//undefided
console.log(json.aaa);//undefided
console.log(json[sym]);//这个是Symbol的value

for( let key in json)
console.log(key,json[key]); //仅能输出a apple
// for(let a of json1)//of一般用来遍历数组,遍历json会报错 json1[Symbol.iterator] is not a function
// console.log(a);

</script>
</head>
<body>

</body>
</html>

原文地址:https://www.cnblogs.com/bigfire/p/9518252.html