通用JS七
instanceof
在原型链上寻找这个属性的定义
match
正则匹配字符串
Symbol()
Symbol()函数不能用作构造函数,与new关键字一起使用。这样做是为了避免创建符号包装对象,像使用Boolean、String、Number那样,他们都支持构造函数且可用于初始化原始值的包装对象
Symbol.for()
在全局符号注册表中创建并重用符号
Symbol.keyFor()
查询全局注册表
Object.getOwnPropertyNames() | Object.getOwnPropertySymbols() | Object.getOwnPropertyDescriptors() |
---|---|---|
返回对象实例的常规属性数组 | 返回对象实例的符号属性数组 | 同时返回常规和符号属性描述的对象 |
["baz","qux"] | [Symbol(foo),Symbol(bar)] | ["baz","qux",Symbol(foo),Symbol(bar)] |
常用内置符号
这些内置符号也没有什么特别之处,他们就是全局函数Symbol的普通字符串属性,指向一个符号的实例。所有内置符号属性都是不可写、不可枚举、不可配置的。
Symbol.asyncIterator
根据ECMAScript规范,该符号作为一个属性表示一个方法,该方法返回对象默认的AsyncIterator。由for-await-of语句使用。换句话说,这个符号表示实现异步迭代器API的函数。
for-await-of循环会利用这个函数执行异步迭代操作。循环时,他们会调用Symbol.asyncIterator为键的函数,并期望这个函数会返回一个实现迭代器Api的对象。很多时候,返回的对象是实现该Api的AsyncGenerator
Symbol.replace
该函数接收两个参数,即调用replace()方法的字符串实例和替换字符串。返回的值没有限制:
Symbol.search
该符号作为一个属性表示“一个正则表达式方法,该方法返回字符中匹配正则表达式的索引。”正则表达式的原型上默认有这个函数的定义,因此所有正则表达式实例默认是这个String方法的有效参数
注:参考书籍JavaScript高级程序设计第四版
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2020-09-29 vue项目中封装axio接口