JS中的Symbol数据类型

最初JS的6种数据类型:

null,undefined,boolean,number,string,object

注意:实际上,array和function都是属于object的子类

ES6中,新增了一种数据类型Symbol,现在共7种数据类型

判断:

typeof Symbol() === ‘symbol‘

特点:

Symbol(‘key‘) !== Symbol(‘key‘) //true

Symbol类型的对象永远不相等,即便创建它们的时候传入了相同的值,因此,可借助此特性解决属性名的冲突问题(比如适用于多人编码的时候),这也是该数据类型存在的主要用途,意为标记

例子:

var sym = Symbol(‘foo‘);

var obj = {[sym] : 1};

obj[sym] === 1 //true

参考链接:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol

原文地址:https://www.cnblogs.com/tianyou-songshao/p/9256038.html

时间: 2024-10-07 11:19:33

JS中的Symbol数据类型的相关文章

js中常见的数据类型

js中常见的数据类型分为两种:基本数据类型.复杂数据类型. 基本数据类型把数据名和值直接存储在栈中. 复杂数据类型在栈中存储数据名和一个堆的地址,在堆中存储属性及值.访问时先从栈获取地址, 再到堆中拿出相应的值 总结:基本数据类型复制的是值,复杂数据类型复制的是引用地址. 为什么划分数据类型? 计算机为了更方便的对内存进行管理,对不同的数据,做了类型上的划分. 如何查看一个变量的数据类型? 使用typeof命名 例如: var x = 5; var res typeof x; 变量的数据类型有

JS中的六大数据类型

js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),和一种复杂数据类型(Object). typeof 操作符 由于js中的变量是松散类型的,所以它提供了一种检测当前变量的数据类型的方法,也就是typeof关键字. type of   123 //Number type of   'abc' //String type of    true       //Boolean type of    undefined   //Und

js中的各个数据类型中的相互转化

js中的数据类型有: Object     Null     Undefined     Number    String   Boolean 转化为boolean类型:Boolean(); 转化规则: 数据类型 转化为true的值 转化为false的值 Boolean true false String 任何非空的字符串 ""(空字符串) Number 任何非零数字值 0和NaN Undefined 任何对象 null Object 无 undefined 转化为String类型:S

js中判断对象数据类型的方法

1.类型定义 JS是一种弱类型语言.JS拥有动态类型,相同的变量可以用作不同的类型.JS有7种数据类型:三种基本类型(数字,字符串,布尔),两种引用数据类型(对象,数组),两种特殊数据类型(undefined,null). JS有5种原始类型:数字,字符串,布尔,undefined,null. 2.类型判断 对js中不同数据的布尔值类型总结:false:空字符串:null:undefined:0:NaN.true:除了上面的false的情况其他都为true: 如下: var o = { 'nam

js中的简单数据类型和复杂数据类型

Js的数据类型可以分为简单数据类型和复杂数据类型 简单数据类型有5种,Number,String,Boolean,undefined,null 1.Number数字类型 ,在控制台显示颜色位蓝色 整数,浮点数,科学计数法 NaN是Number类型,但是NaN != NaN 2.String字符串型 , 控制台显示黑色 <1>.单/双引号包裹,成对出现 <2>.str.length 获取字符串的长度 <3>.转义字符 \’ , \” , \n(换行) 3.Boolean

js中的应用数据类型

array数据类型的详细解读 数组是对象数据类型,只不过是对象数据类型中的一个细分类而已console.log(typeof [1, 2, 3]); -->"object" 定义一个数组有两种方式字面量方式var ary = [45, 56, 67];实例创建var ary = new Array(); console.dir(ary);数组也是有属性名和属性值组成的,只是我们不用写属性名即可,默认属性名是数字,代表当前是数组中的第几个值-->索引0代表第一个值 ary[0

JS中的Number数据类型详解

Number数据类型 Number类型使用IEEE754格式来表示整数和浮点值,这也是0.2 + 0.3不等于0.5的原因, 最基本的数值类型字面量格式是十进制整数 var a = 10; 1. 浮点数值 2. NaN Not a Number:不是一个数,但它属于数值类型 NaN的特点 NaN和任何值进行操作都会返回NaN NaN与任何值都不相等,包括NaN本身 console.log(NaN == NaN) 3. isNaM函数 用于检测一个变量不是数值(Number)类型.isNaN()接

js中的String数据类型

string中包含一些特殊的字符字面量,又叫转义序列,\n 意思是换行,\t 意为制表,\b意为空格,\r回车,\\斜杠. 1.ECMAScript中字符串是不可变的. 2.转换字符串的方法:toString() 返回相应值的字符串形态.null和undefined没有此方法,其他都有. 3.在不知道要转换的值是不是null或undefined的情况下,可以使用转型函数String(),这个函数能将任意值转换成字符串. var value1=null; var value2=undefined;

js中数据类型的理解

1.js中的基本数据类型:String.Number.Boolean.Null和Undefined,还有一种复杂数据类型Object. 2.对于Null和Undefined的不同,现在的JavaScript设计为Null表示'无'的对象,转为数值0:undefined未定义,转为数值NaN.其中NaN的数据类型为number,意为Not a Number;当两种不同的数据的类型相运算时则要注意一些细节,自己总结了一点: 所有和undefined有关的运算,返回的为NaN:  Null + 0 =