Web Bookmark

MDN上的Symbol介绍

基础特性

1.唯一性

  1. const s1 = Symbol('Sym')
  2. const s2 = Symbol('Sym')
  3. console.log(s1 === s2); // 永远返回 false

2.不支持 new

  1. new Symbol() // TypeError: Symbol is not a constructor

3.不会隐式转换

  1. const sym = Symbol('Sym')
  2. alert(sym) // TypeError: Cannot convert a Symbol value to a string

4.参数只用来作为描述

  1. const sym = Symbol('Sym')
  2. console.log(sym.description) // Sym

5.设计目的:用来作为属性名

  1. let prop = 'name';
  2. const info = {
  3. [prop]: 'symbol test'
  4. };
  5. console.log(info);