ES6——Symbol数据类型

什么是 Symbol ?
  Symbol 表示独一无二的值,他是js中的 第七种数据类型。

  基本的数据类型:null, undefined number boolean string symbol
  引用数据类型:Object

  let s1=Symbol();
  let s2= Symbol();
  console.log(typeof s1); //symbol

  console.log(s1===s2) //false;

Symbol 函数不能使用 new 否则会把错,因为 Symbol 是一个原始类型的值,不是对象。

Symbol 函数接收一个字符串作为参数,表示对 Symbol 的描述,主要是为了在控制台显示或者转为 字符串的时候,比较容易区分。

  let s3=Symbol ("miaov");
  let s4=Symbol ("leo");
  console.log(s3,s4); //输出 Symbol (miaov) Symbol (leo);

2、Symbol 数据类型的转换。

  console.log(String(Symbol ("miaov")));
  console.log(Symbol ("leo").toString);
  //转换 bool值
  console.log(!! Symbol()); //true
  Symbol 不能做任何运算。

3、作为对象的属性名。

  let ss=Symbol("ss");
  const data={
    [ss]:"miaov"
  };
  console.log(data[ss]); //打印 miaov

  const data={
    [Symbol()]:123,
    a:1,
    b:2
  }
  //找不到 [Symbol()]:123,
  for (let i in data){
    console.log(i); 
  }

以上。

猜你喜欢

转载自www.cnblogs.com/zyhbook/p/9425972.html