资讯专栏INFORMATION COLUMN

es6--symbol

Honwhy / 1128人阅读

摘要:什么是表示独一无二的值是中的新增加的数据类型为什么会出现这样的一个属性因为在中对象的属性名都是字符串很容易冲突当使用时就是一种独一无二的值创建但是注意不能使用来构造对象也就是不是一个构造函数函数的参数接受一个字符串作为字符串表示这个的描述即

什么是symbol

symbol 表示独一无二的值 是js中的 新增加的数据类型
为什么会出现这样的一个属性?
因为在es5中对象的属性名都是字符串很容易冲突 当使用symbol时就是一种独一无二的值

创建symbol
  let  ss1=Symbol();
    console.log(typeof ss1)   //symbol

但是注意 不能使用new 来构造symbol对象 也就是Symbol不是一个构造函数

    let  s3=Symbol("sss1")
    let  s4=Symbol("sss2")
    console.log(s3,s4)

Symbol函数的参数接受一个字符串作为字符串 表示这个symbol的描述 即使描述相等两个symbol也不相等

 console.log(Symbol("11")==Symbol("22"))  //false
symbol数据类型转换

转换成字符串

console.log(String(s3))  //Symbol("sss1")

转换成boolean 本身就是一个true值

    console.log(!!Symbol())  //true

不能转换成数字
不能和字符串做拼接 不能和数字的运算 不能做任何的运算

symbol作用就是让对象的属性名不再重复 但是必须为symbol添加描述 否则拿不到这个属性

    let  s3=Symbol("sss1")
   let data={
       s3:111
   };
    console.log(data.s3)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88775.html

相关文章

  • ES6 Symbol - 基本使用方法

    摘要:但是,前来提到的个方法都不支持属性,为了保持原有的功能,新增了一个方法来检索类型的属性接下来看一下式例以上,就是关于的基本使用方法。 ES6新增了一个基本数据类型:Symbol,至此ECMAScript的基本数据类型就有了6种:字符串,数字,布尔,null,undefined,Symbol。关于Symbol,我打算写2篇文章来提取一下比较重要的知识点,这篇是第一篇,主要讲Symbol的...

    paney129 评论0 收藏0
  • ES6 Symbol ,对象匿名(anonymous)属性实现

    摘要:在运行时环境中,通过调用函数创建值,该函数动态生成匿名的唯一值。创建和使用值的唯一创建方法,是通过调用函数来返回,不支持操作。共享体系提供了一个全局注册表,用于在大文件或多文件代码中追踪值。 Symbol由来 Symbol是ES6引入的新类型,所以在ES5的基础上,JS就有了字符串(string)、数字型(number)、布尔(bool)、null、undefined和Symbol共六...

    JowayYoung 评论0 收藏0
  • ES6 Symbol - 一些重要的Symbol属性

    摘要:是一个布尔值,用于确定当调用数组的方法时,如果传入参数是一个数组,是否需要将这个数组拍平。与其他的属性不同的是,并不默认出现在标准对象中。 ECMAScript 6 通过在原型链上定义与Symbol相关的属性来暴露语言内部逻辑,使得开发者可以对一些语言的默认行为做配置。接下来我们来看看有哪些重要的Symbol属性可供我们使用: 1: Symbol.hasInstance 一个在执行 i...

    Barrior 评论0 收藏0
  • ES6 symbol类型详解

    摘要:一定义类型是新的原始数据类型,表示独一无二的值,其他的原始数据类型还有,属于复杂数据类型。三值作为对象值作为属性名时不能使用点运算定义属性时,必须放在方括号内,与普通键值进行区分。值可显示地转换成字符串。可以显示或隐式转成,却不能转成数值。 一、定义 symbol类型是新的原始数据类型,表示独一无二的值,其他的原始数据类型还有Number,String,Boolean,Null,U...

    Yi_Zhi_Yu 评论0 收藏0
  • ES6: Symbol

    摘要:的出现是因为没有可以用来表示唯一的标识符,所以从根本上防止属性名的冲突,所以引入了。所以对象的属性名可以有两种类型,一种是通常的字符串,另一种是新增的类型。而且值不能与其他类型的值进行运算。 Symbol的出现是因为没有可以用来表示唯一的标识符,所以从根本上防止属性名的冲突,所以引入了Symbol。所以对象的属性名可以有两种类型,一种是通常的字符串,另一种是新增的Symbol类型。Sy...

    iliyaku 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<