symbol基础数据类型

表示独一无二的值,最大的用法是用来定义对象的唯一属性名。

由于每一个 Symbol 的值都是不相等的,所以 Symbol 作为对象的属性名,可以保证属性不重名。

let sy = Symbol("key1");
let sy = Symbol('aaa')
 
// 写法1
let syObject = {};
syObject[sy] = "kk";
console.log(syObject);    // {Symbol(key1): "kk"}
 
// 写法2
let syObject = {
  [sy]: "kk"
};
console.log(syObject);    // {Symbol(key1): "kk"}
 
// 写法3
let syObject = {};
Object.defineProperty(syObject, sy, {value: "kk"});
console.log(syObject);   // {Symbol(key1): "kk"}

Symbol 作为对象属性名时不能用.运算符,要用方括号:syObject[sy] = "kk"

 

 

参考:https://www.runoob.com/w3cnote/es6-symbol.html

 

 


版权声明:本文为FrozenNoodle原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。