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);
  }
以上。
ES6——Symbol数据类型的更多相关文章
- ES6的数据类型
		
首先ES6包含了ES5里面的数据类型,有undefined,null,boolean,String,Number,Object,而ES6又新增了一种数据类型是Symbol,这种的Symbol数据类型是 ...
 - ES6 Symbol数据类型和set-map 数据结构
		
Symbol数据类型 ES6新加的数据类型,提供一个独一无二的值 { let a1 = Symbol() ;let a2 = Symbol() } //声明 { let a3 = Symbol.for ...
 - symbol数据类型
		
symbol声明的类型独一无二 概念:表示独一无二的值,永远不相等 s1 = Symbol() s2 = Symbol() s1 !== s2 基本使用: 通过Symbol函数生成,得到一个symbo ...
 - 浅谈ES6新增数据类型:Symbol
		
面试中喜闻乐见的问题就是问我们的ES6新增了哪些个新特性 这篇文章一起学习一下新增的数据类型:Symbol JS的原始数据类型:6种Boolean,String,Undefined,NULL,Numb ...
 - ES6新增数据类型Symbol
		
Symbol的含义? ES6(2015) 引入了第七种原始数据类型Symbol,Symbol英文文意思为 符号.象征.标记.记号,在 js 中更确切的翻译应该为独一无二的 Symbol的使用? Sym ...
 - es6 新增数据类型Symbol
		
es6在string number boolean null undefined object之外又新增了一种Symbol类型. Symbol意思是符号,有一个特性—每次创建一个Symbol值都是不一 ...
 - ES6新数据类型Symbol
		
Symbol 需计算字面量属性时使用 const benz = Symbol('benz'); const car = { [benz]: 'benz car' }; const info = Sym ...
 - ES6 Symbol的应用场景
		
一.简介 具体使用请参考:API ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值.它是 JavaScript 语言的第七种数据类型,前六种是:undefined.null.布尔值(B ...
 - JS中的Symbol数据类型
		
最初JS的6种数据类型: null,undefined,boolean,number,string,object 注意:实际上,array和function都是属于object的子类 ES6中,新增了 ...
 
随机推荐
- uwsgi的python2+3多版本共存实操使用virtualenv
			
1首先,机器需要有python2和python3的可执行环境.确保pip和pip3命令可用.原理就是在哪个环境下安装uwsgi.uwsgi启动的时候,就用的哪个python版本 2安装virtuale ...
 - 102. Binary Tree Level Order Traversal + 103. Binary Tree Zigzag Level Order Traversal + 107. Binary Tree Level Order Traversal II + 637. Average of Levels in Binary Tree
			
▶ 有关将一棵二叉树转化为二位表的题目,一模一样的套路出了四道题 ▶ 第 102 题,简单的转化,[ 3, 9, 20, null, null, 15, 7 ] 转为 [ [ 15, 7 ] , [ ...
 - python实现进度条--主要用在上传下载文件
			
在python中进行socket上传文件的时候使用进度条,然后在网上找了好久,找寻相关的进度的条的使用,看了几个,发现总是无法进行调用,主要原因是在进行上传文件的时候,每次传送的数据量是固定的,数据的 ...
 - BTM事务配置
			
请参考原贴:http://thinkdifferent.iteye.com/blog/1450433 Tomcat6上配置BTM 博客分类: practice tomcatjava )去http:// ...
 - sonar link 的安装与使用
			
参考来源:https://jingyan.baidu.com/article/2a1383289bea98074a134ff6.html 工具/原料 版本要求Eclipse(4.2,3.8)以上, ...
 - LUA 删除元素的问题
			
table在删除元素时要注意,例t = { "hello", "world", "!"}t[1] = nil此时print(#t) --输出 ...
 - less gradient-vertical 方法的实现
			
// Vertical gradient using CSS where possible, and base64-encoded SVG for IE9 (enables use of this i ...
 - Python运维开发基础02-语法基础
			
上节作业回顾(讲解+温习60分钟) #!/bin/bash #user login User="yunjisuan" Passwd="666666" User2 ...
 - leetcode 21 Merge Two Sorted Lists 合并两个有序链表
			
描述: 合并两个有序链表. 解决: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if (!l1) return l2; if (!l2) ...
 - Django基础学习一
			
Django需要安装Django和jinja2,所以在开始学习之前,要先按照Django模块和jinja2模块,Django默认的数据库是SQLite,所以建议大家在学习之前需要先安装SQLite 一 ...