什么是 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);
  }

以上。

ES6——Symbol数据类型的更多相关文章

  1. ES6的数据类型

    首先ES6包含了ES5里面的数据类型,有undefined,null,boolean,String,Number,Object,而ES6又新增了一种数据类型是Symbol,这种的Symbol数据类型是 ...

  2. ES6 Symbol数据类型和set-map 数据结构

    Symbol数据类型 ES6新加的数据类型,提供一个独一无二的值 { let a1 = Symbol() ;let a2 = Symbol() } //声明 { let a3 = Symbol.for ...

  3. symbol数据类型

    symbol声明的类型独一无二 概念:表示独一无二的值,永远不相等 s1 = Symbol() s2 = Symbol() s1 !== s2 基本使用: 通过Symbol函数生成,得到一个symbo ...

  4. 浅谈ES6新增数据类型:Symbol

    面试中喜闻乐见的问题就是问我们的ES6新增了哪些个新特性 这篇文章一起学习一下新增的数据类型:Symbol JS的原始数据类型:6种Boolean,String,Undefined,NULL,Numb ...

  5. ES6新增数据类型Symbol

    Symbol的含义? ES6(2015) 引入了第七种原始数据类型Symbol,Symbol英文文意思为 符号.象征.标记.记号,在 js 中更确切的翻译应该为独一无二的 Symbol的使用? Sym ...

  6. es6 新增数据类型Symbol

    es6在string number boolean null undefined object之外又新增了一种Symbol类型. Symbol意思是符号,有一个特性—每次创建一个Symbol值都是不一 ...

  7. ES6新数据类型Symbol

    Symbol 需计算字面量属性时使用 const benz = Symbol('benz'); const car = { [benz]: 'benz car' }; const info = Sym ...

  8. ES6 Symbol的应用场景

    一.简介 具体使用请参考:API ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值.它是 JavaScript 语言的第七种数据类型,前六种是:undefined.null.布尔值(B ...

  9. JS中的Symbol数据类型

    最初JS的6种数据类型: null,undefined,boolean,number,string,object 注意:实际上,array和function都是属于object的子类 ES6中,新增了 ...

随机推荐

  1. 《OpenCL异构并行编程实战》补充笔记散点,第五至十二章

    ▶ 第五章,OpenCL 的并发与执行模型 ● 内存对象与上下文相关而不是与设备相关.设备在不同设备之间的移动如下,如果 kernel 在第二个设备上运行,那么在第一个设备上产生的任何数据结果在第二个 ...

  2. DevExpress GridView 整理

    1:去除 GridView 头上的 "Drag a column header here to group by that column" -->  点击 Run Desig ...

  3. C++ 获取特定进程的CPU使用率<转>

    C++ 获取特定进程的CPU使用率 近来发现笔记本在关闭屏幕后风扇转得特别快,打开屏幕后看任务管理器,风扇马上减速,也没有发现大量占用CPU的进程.于是想写一个小程序在后台记录每个进程的CPU使用情况 ...

  4. ffmpeg源码分析--av_find_best_stream <转>

    1. av_find_best_streama. 就是要获取音视频及字幕的stream_indexb.以前没有函数av_find_best_stream时,获取索引可以通过如下 ; i<is-& ...

  5. 15 并发编程-(IO模型)

    一.IO模型介绍 1.阻塞与非阻塞指的是程序的两种运行状态 阻塞:遇到IO就发生阻塞,程序一旦遇到阻塞操作就会停在原地,并且立刻释放CPU资源 非阻塞(就绪态或运行态):没有遇到IO操作,或者通过某种 ...

  6. 【python 】Requests 库学习笔记

    概览 实例引入 import requests response = requests.get('https://www.baidu.com/') print(type(response)) prin ...

  7. sass的类型判定

    由于sass的作者是rubyer,因此它的类型与JS有点不一样,但一样可以类推. @charset "utf-8";//必须设置了这个才能编译有中文的注释 $gray: #333; ...

  8. CWinApp: The Application Class

    [CWinApp: The Application Class]  An application built on the framework must have one and only one o ...

  9. Configure、中间件与ErrorHandlingMiddleware全局异常捕获

    一.Configure Startup.cs中的Configure方法主要是http处理管道配置.中间件和一些系统配置,其中 IApplicationBuilder: 定义一个类,该类提供配置应用程序 ...

  10. CTC Loss原理

    https://blog.csdn.net/left_think/article/details/76370453 1. 背景介绍  在传统的语音识别的模型中,我们对语音模型进行训练之前,往往都要将文 ...