美文网首页前端开发es6入门基础
ES6基础入门教程(三)独一无二的数据类型

ES6基础入门教程(三)独一无二的数据类型

作者: 党云龙 | 来源:发表于2019-10-29 15:35 被阅读0次

还记得es5里面的数据类型有多少种吗?


Number String Undefined Null Boolean 一共五种,NaN是数字的一种不属于类型。
如有人较真的话,其实还有另外三种引用类型,分别是Object,Array,Function。

新数据类型


es6中加入了Symbol 数据类型,Symbol表示一个变量是独一无二的。
他的只有一个唯一的作用,就是在对象中让一个key不会和其他的key重复。

// Symbol 括号中是对该属性的解释 没有具体作用
let sex =Symbol("性别");
let man = {
    age:31,
    sex:"女",
    [sex]:"男"
}
// 你把Symbol混入对象以后 会发现遍历是获取不到这个key的
let key=Object.keys(man)
// 此时想要获取keys 需要通过Reflect.ownKeys(obj)
console.log(key);
// 只能通过对象字面量去获取 由此可见Symbol主要作用在于创建一个对象私有的属性
// 牛逼的是,你创建的是一个独一无二的值,他不可能跟其他的属性重名
console.log(man[sex]);

需要说明的是:
Symbol在map对象中意义不大,因为map对象中的key本来就是唯一不重复的

let man2 = new Map([
    ["name","dangyunlong"],
    [sex,"man"]
])
// 但是神奇的是,通过map对象创建的却可以获取到,因为在map对象中,
// key本来就是独一无二的
//console.log(man2.keys());

另外,如果想要遍历对象的symbol属性,
可以使用 Object.getOwnPropertySymbols(obj) 方法,返回一个数组,数组中包含所有symbol属性。

相关文章

  • ES6 之 Symbol

    1. 基本用法 Symbol 是ES6引入的一种新的原始数据类型,表示独一无二的值。 前六种基础数据类型是 und...

  • js判断数据类型

    typeof 只能判断除了null的基础数据类型 symbol 是es6新增的基础数据类型 instanceof ...

  • ES6基础入门教程(三)独一无二的数据类型

    还记得es5里面的数据类型有多少种吗? Number String Undefined Null Boolean ...

  • python入门教程NO.2 用python做个自我介绍

    python入门教程NO.2 用python做个自我介绍 本文涉及的python基础语法为:数据类型等 数据类型 ...

  • 简述ES6的数据类型

    接下来扯一下ES6的数据类型,ES6新引入了一种Symbol的原始数据类型来表示独一无二的值。它和undefi...

  • JavaScript基础总结深入

    ES6 引入了一种新的原始数据类型 Symbol ,表示独一无二的值。

  • ECMAScript6--10.Symbol用法

    Symbol(ES6中新增加的数据类型) 1.Symbol的概念* 这种数据类型提供独一无二的值;比如:在js中声...

  • Symbol

    symbol 是es6的一种新的数据类型,表示独一无二的值。它是javaScript语言的第七种数据类型。 sym...

  • JavaScript数据类型

    ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型...

  • Symbol

    ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型...

网友评论

    本文标题:ES6基础入门教程(三)独一无二的数据类型

    本文链接:https://www.haomeiwen.com/subject/xbhgvctx.html