美文网首页
Symbol学习笔记

Symbol学习笔记

作者: yschen | 来源:发表于2019-05-26 08:56 被阅读0次

一.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)

相关文章

  • Symbol学习笔记

    一.Symbol是什么 typeof Symbol() === 'symbol',symbol是js中第7种基本类...

  • Symbol学习

    ES6引入了一种新的原始数据类型Symbol,表示独一无二的值,最大的用法是用来定义对象的唯一的属性名。 基本用法...

  • Symbol

    学习参考: https://es6.ruanyifeng.com/#docs/symbol Symbol 一种新的...

  • ES6学习笔记——Symbol

    1、概述 ES5 的对象属性名都是字符串,这样有一个问题是容易造成属性名的冲突。比如,你使用了一个他人提供的对象,...

  • ES6学习笔记--Symbol

    创建符号值 Symbol没有字面量形式,这在JS的基本类型中是独一无二的.可以用全局函数来创建符号值 符号值是基本...

  • Sketch学习笔记02—Symbol组件

    Sketch笔记系列目录 上周完成了Sketch系列笔记的第一篇的内容“画布与画板”,今天跟大家分享的是第二篇内容...

  • 20190202 学习Symbol

    概述 产生原因 ES6的对象属性名都是字符串,容易造成属性名的冲突,为避免冲突,引入Symbol机制,保证每个属性...

  • ES6 学习笔记(8) Symbol

    1. 概述 ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第...

  • ES6学习笔记之Symbol

    前端技术日新月异,不断有新技术出现,我们就需要不断地学习新知识,虽然ES6已经提出很久了,但是最近我才有时间静下心...

  • es6学习笔记之Symbol

    ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型...

网友评论

      本文标题:Symbol学习笔记

      本文链接:https://www.haomeiwen.com/subject/rnfxtctx.html