当前位置: 首页 > news >正文

通州富阳网站建设手机网站关键词排名查询

通州富阳网站建设,手机网站关键词排名查询,net网站开发手机网站,我国网站无障碍建设仍处于1. Symbol概念以及引入原因 ES6 引入了的一种新的原始数据类型Symbol#xff0c;表示独一无二的值。它是 JavaScript 语言的第七种数据类型#xff0c;前六种是#xff1a;undefined、null、布尔值#xff08;Boolean#xff09;、字符串#xff08;String#xff09;、…1. Symbol概念以及引入原因 ES6 引入了的一种新的原始数据类型Symbol表示独一无二的值。它是 JavaScript 语言的第七种数据类型前六种是undefined、null、布尔值Boolean、字符串String、数值Number、对象Object。 重点 Symbol作用保证每个对象属性的名字都是独一无二的Symbol 可以接收字符串作为参数Symbol参数参数为对象会调用toString()作为key参数相同值也不同没有参数值也不同Symbol 值不能与其他类型的值进行运算会报错。Symbol 值可以显式转为字符串和布尔值不能转为Number数值。Symbol.iterator属性是一种特殊的key。指向该对象的默认遍历器方法凡是具有Symbol.iterator属性的对象都可以使用for...of进行遍历 2.Symbol作用保证每个对象属性的名字都是独一无二的 问题对象直接设置key为对象会将对象调用toString()方法转为[Object,Object]第二个值就覆盖第一个值了 let obj1 {a:1}let obj2 {a:2}let obj {};// 想要将obj的key设置为obj1的值obj[{a:1}] 1obj[obj1] 1;obj[obj2] 2;// 发现只有一个值且返回的obj键转成了[object Object]值为21被覆盖console.log(obj);// [object Object] 2 使用Symbol进行定义后发现就不会被覆盖  let obj1 Symbol({a:1})let obj2 Symbol({a:2})let obj {};obj[obj1] 1;obj[obj2] 2;console.log(obj); 3.Symbol 可以接收字符串作为参数 Symbol函数可以接受一个字符串作为参数表示对 Symbol 实例的描述主要是为了在控制台显示或者转为字符串时比较容易区分。 如下即使字符串相同s1和s2也不是一个 let s1 Symbol(foo);let s2 Symbol(foo);console.log(s1 s2); //false 3.Symbol参数参数为对象会调用toString()作为key参数相同值也不同没有参数值也不同 注意1 Symbol 的参数是一个对象就会调用该对象的toString方法将其转为字符串然后才生成一个 Symbol 值。 注意2Symbol函数的参数只是表示对当前 Symbol 值的描述因此相同参数的Symbol函数的返回值是不相等的。 注意3Symbol函数的参数没有值也不同 // 没有参数的情况let s1 Symbol();let s2 Symbol();s1 s2 // false// 有参数的情况let s1 Symbol(foo);let s2 Symbol(foo);s1 s2 // false 4.Symbol 值不能与其他类型的值进行运算会报错。 let sym Symbol(My symbol);console.log( your symbol is sym);//Uncaught TypeError: Cannot convert a Symbol value to a stringlet num Symbol(1);console.log(num1);Uncaught TypeError: Cannot convert a Symbol value to a string 5.Symbol 值可以显式转为字符串。 let sym Symbol(My symbol);console.log(String(sym));//Symbol(My symbol)console.log(sym.toString());//Symbol(My symbol) 6.Symbol 值也可以转为布尔值但是不能转为数值。 let sym2 Symbol();console.log(Boolean(sym2));//trueconsole.log(!sym2);//falseconsole.log(Number(sym2));//Uncaught TypeError: Cannot convert a Symbol value to a number 7.Symbol.iterator属性 可以看作一种特殊的key对象的Symbol.iterator属性指向该对象的默认遍历器方法。对象进行for...of循环时会调用Symbol.iterator方法返回该对象的默认遍历器。 凡是具有Symbol.iterator属性的对象都可以使用for...of进行遍历如果想让其可以通过for...of进行遍历就使用Symbol.iterator给其添加一个可遍历的属性 8. Symbol中Object.getOwnPropertySymbols方法获取指定对象的所有 Symbol 属性名。 Symbol类型时不可枚举的即属性上有Symbol时遍历不出来如果想要获取上面的Symbol属性就需要使用Object.getOwnPropertySymbols方法。Object.getOwnPropertySymbols方法可以获取指定对象的所有 Symbol 属性名。Object.getOwnPropertySymbols方法返回一个数组成员是当前对象的所有用作属性名的 Symbol 值。 const obj {};let a Symbol(a);let b Symbol(b);obj[a] Hello;obj[b] World;const objectSymbols Object.getOwnPropertySymbols(obj);console.log(objectSymbols); //[Symbol(a), Symbol(b) 9.Symbol的实际使用私有属性常量枚举 9.1作为常量进行枚举 常量枚举 js没有枚举类型的 // 常量枚举 js没有枚举类型的// 产生一个问题 1 2 不能重复 重复的话判断就会出错// symbol 哪怕你写重复了也没问题// const CODE_ONE 1;// const CODE_TWO 2;const CODE_ONE Symbol(1)const CODE_TWO Symbol(2)console.log(CODE_ONE CODE_TWO); 9.2作为私有属性对象进行遍历时不会遍历具有Symbol类型的数据 对象进行遍历时不会遍历具有Symbol类型的数据 // 私有属性let private Symbol(private)var obj {_name: 张三,[private]: 私有的属性,say: function () {console.log(this[private])}}console.log(Object.keys(obj))//[_name, say]
http://www.w-s-a.com/news/867289/

相关文章:

  • 软文网站名称用户浏览网站的方式
  • 大兴模版网站搭建哪家好网站建设与管理管理课程
  • 四川成都网站制作微信广告平台推广
  • 网站价格网页制作网站开发实训步骤
  • cms 导航网站鹤壁做网站价格
  • 微信营销软件免费版郑州关键词优化费用
  • 邢台专业做网站哪家好临沂网站建设中企动力
  • 建设网站是主营成本吗wordpress 后台
  • 猎头可以做单的网站企业网站建设
  • 建小程序需要网站吗在putty上怎样安装wordpress
  • 天津智能网站建设找哪家WordPress相册插件pro
  • 电脑网站页面怎么调大小济宁网站建设软件开发
  • 亿玛酷网站建设广州增城区最新消息
  • 企业网站视频栏目建设方案中企动力网站模板
  • 网站页面策划国外注册域名的网站
  • 百中搜如何做网站排名网站维护一年一般多少钱
  • 镇江地区做网站的公司wordpress说说加分类
  • 深圳高端网站设计免费的关键词优化软件
  • 视频网站公司沈阳网站建设服务
  • 网站全屏代码做网站必须用对方服务器
  • 网站速度慢wordpressssl正式申请后wordpress
  • 那个网站做玉石最专业西瓜创客少儿编程加盟
  • 备案时的网站建设方案书免费软件库
  • 惠州外贸网站建设网站模板 兼容ie8
  • 南京淄博网站建设方案php网站开发实训感想
  • 网站设计的含义只做恐怖片的网站
  • 网站改版方案ppt室内装修公司简介
  • 做色网站wordpress twenty ten
  • 马鞍山建设工程监督站建管处网站免费的海报模板网站
  • 类似百度的网站移动端的网站怎么做的