ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] >[success] # Symbol内建对象类的函数及属性 <br/> symbol 是一种**基本数据类型**。**Symbol()** 函数会返回 **symbol类型** 的值,该类型具有 **静态属性** 和 **静态方法** 。它的静态属性会暴露几个内建的成员对象;它的静态方法会暴露全局的symbol注册,且 **类似于内建对象类,但作为构造函数来说它并不完整,因为它不支持语法:"new Symbol()"**。 >[success] ## Symbol 属性 | 属性 | 作用 | | --- | --- | | [Symbol.hasInstance](https://www.kancloud.cn/wangjiachong/javascript/1590842) | 可以像`instanceof`一样判断数据类型,或可`重写`所有`内建函数` 的`Symbol.hasInstance`属性| | [Symbol.isConcatSpreadable](https://www.kancloud.cn/wangjiachong/javascript/1590842) | `Symbol.isConcatSpreadable`用来`配置`某`数组`作为`concat()`方法的参数时,是否`展开其数组`元素。| | [Symbol.toPrimitive](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toPrimitive) | 当一个对象转换为对应的`原始值`(字符串、布尔、数字等等)时,会调用此函数。 | |[Symbol.toStringTag](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag)| 这个属性可以用来定制`[object Object]`或`[object Array]`中`object`后面的那个`字符串`。 | |[Symbol.unscopables](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol/unscopables)| `Symbol.unscopables`指用于指定对象值,指定后`with`就循环不到指定的那个值。| <br/> >[success] ## Symbol的方法 | 构造方法 | 作用 | | --- | --- | | [Symbol.match](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol/match) | 此函数接受一个`字符串`参数,并返回一个包含匹配结果的`数组`;若匹配 失败,则返回`null`| |[Symbol.replace]() |此函数接受一个`字符串`参数与一个替换用的`字符串`,并返回替换后的结果`字符串`| | [Symbol.search](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol/search) | 此函数接受一个`字符串`参数,并返回匹配结果的数值`索引`;若匹配失 败,则返回`-1`| | [Symbol.split](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol/split) | 此函数接受一个`字符串`参数,并返回一个用匹配值分割而成的`字符串数组`|