Java基础、中级、高级、架构面试资料

Symbol 属性汇总

HTML5 herman 2630浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云

ES6 引入了一些很实用很强大的特性和一些语法。今天说的 Symbol 就是其中一个。
对于这个新特性,很多人估计很少使用它,尤其是可见性封装特别好的时候。但它也有很应用场景的。
Symbol 的语法很简单,属性却有很多。本文总结了Symbol 的众多属性,方便大家参考。

Symbol 数据类型

首先它是 ES6 引入的一个 js 数据类型。熟悉 JavaScript 的都知道,javascript 有七大数据类型。

null, undefined, number, boolean, string, Array、object  
// 基本数据类型:null、undefined、数字、布尔、字符串  
// 复杂数据类型: 数组、对象等  

Symbol 属性

  • Symbol.length:长度属性值为1。
  • Symbol.name :仅Chrome/v8。返回符号描述。
  • Symbol.prototype:描述符号构造函数的原型。
  • Symbol.iterator:迭代 symbols。一个返回一个对象默认迭代器的方法。使用 for…of。
  • Symbol.match:正则表达式 symbols。一个用于对字符串进行匹配的方法,也用于确定一个对象是否可以作为正则表达式使用。使用 String.prototype.match()。
  • Symbol.replace:一个替换匹配字符串的子串的方法. 使用 String.prototype.replace()。
  • Symbol.search:一个返回一个字符串中与正则表达式相匹配的索引的方法。使用String.prototype.search()。
  • Symbol.split:一个在匹配正则表达式的索引处拆分一个字符串的方法.。使用 String.prototype.split()。
  • Symbol.hasInstance:一个确定一个构造器对象识别的对象是否为它的实例的方法。使用 instanceof。
  • Symbol.isConcatSpreadable:一个布尔值,表明一个对象是否应该flattened为它的数组元素。使用Array.prototype.concat()。
  • Symbol.unscopables:拥有和继承属性名的一个对象的值被排除在与环境绑定的相关对象外。
  • Symbol.species:一个用于创建派生对象的构造器函数。
  • Symbol.toPrimitive:一个将对象转化为基本数据类型的方法。
  • Symbol.toStringTag:用于对象的默认描述的字符串值。使用Object.prototype.toString()。
  • Symbol.prototype.constructor:返回创建实例原型的函数. 默认为 Symbol 函数。

Symbol 浏览器兼容性

Symbol 浏览器兼容性

Symbol 还未被大范围支持,推荐大家使用最新的谷歌浏览器进行测试。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » Symbol 属性汇总