# 数据类型 DataType

# Symbol

参数表示对当前Symbol的描述,如果参数为一个对象,则会调用参数的toString方法,转为字符串之后,才会生成Symbol

  • Symbol的值不能与其它类型的值进行运算;
  • Symbol的值不能转为数值;
  • Symbol的值可显式转为字符串;
    let sym = Symbol('My Symbol')
    String(Symbol) // Symbol(My Symbol)
    sym.toString() // Symbol(My Symbol)
    
    1
    2
    3
  • Symbol的值可转为布尔值
    let sym = Symbol()
    Boolean(sym) // true
    !sym // false
    if (sym) {
      // ...
    }
    
    1
    2
    3
    4
    5
    6
  • ES2019提供了返回Symbol描述的属性
    sym.description
    
    1