Symbol学习笔记

2019-05-26  本文已影响0人  yschen

一.Symbol是什么

typeof Symbol() === 'symbol',symbol是js中第7种基本类型(本来就有的6种是null, undefined, Number, Boolean, Object, String),不是字符串也不是对象

作用:symbol用来避免命名冲突,解决了篡改(添加属性)原生对象的后遗症,不用担心属性名以后和原生属性名或者其它类库操作冲突

二.语法

获取Symbol有3种方式,如下:

1.Symbol(desc)

返回symbol,desc可选,symbol.toString()返回`Symbol(${desc})`,例如:

var obj = {

    a: 1

};

// 不用new,Symbol不是构造器

var safeKey = Symbol();

obj[safeKey] = 'value';

console.log(obj[safeKey]);  // value

var anotherSafeKey = Symbol('isAnimActive');

console.log(anotherSafeKey);    // Symbol(isAnimActive)

上一篇 下一篇

猜你喜欢

热点阅读