返回

ES6原生类型及对象的内置静态方法解析

前端

ES6中的新静态属性和方法

ES6为各种内置原生类型和对象新增了许多静态属性和方法,这些新增功能可以帮助我们编写更简洁、更强大的代码。

Array

属性/方法
Array.from() 将类数组对象或可迭代对象转换为真正的数组
Array.of() 创建一个新的数组,其中包含指定的元素
Array.prototype.copyWithin() 在数组中复制元素
Array.prototype.fill() 用指定的值填充数组
Array.prototype.find() 返回数组中第一个符合指定条件的元素
Array.prototype.findIndex() 返回数组中第一个符合指定条件的元素的索引

Object

属性/方法
Object.assign() 将一个或多个对象的属性复制到另一个对象
Object.create() 创建一个新对象,该对象具有指定的原型对象
Object.defineProperty() 定义一个对象的属性
Object.freeze() 冻结一个对象,使其属性不可再修改
Object.getOwnPropertyDescriptor() 获取对象的属性描述符
Object.getPrototypeOf() 获取对象的原型对象
Object.is() 比较两个值是否严格相等
Object.keys() 返回对象的属性名称数组
Object.values() 返回对象的属性值数组

String

属性/方法 描述
String.fromCodePoint() 创建一个新的字符串,其中包含指定的字符码点
String.prototype.codePointAt() 返回字符串中指定位置的字符码点
String.prototype.includes() 检查字符串中是否包含指定的子字符串
String.prototype.repeat() 将字符串重复指定次数
String.prototype.startsWith() 检查字符串是否以指定的子字符串开头
String.prototype.endsWith() 检查字符串是否以指定的子字符串结尾

Number

属性/方法 描述
Number.isFinite() 检查一个值是否是有限的数字
Number.isInteger() 检查一个值是否是整数
Number.isNaN() 检查一个值是否是NaN
Number.parseFloat() 将字符串解析为浮点数
Number.parseInt() 将字符串解析为整数

Boolean

属性/方法 描述
Boolean() 将一个值转换为布尔值

Symbol

属性/方法 描述
Symbol() 创建一个新的Symbol值
Symbol.for() 获取一个已存在的Symbol值,如果没有则创建一个新的Symbol值
Symbol.keyFor() 返回Symbol值的字符串表示

Math

属性/方法 描述
Math.acosh() 反双曲余弦函数
Math.asinh() 反双曲正弦函数
Math.atanh() 反双曲正切函数
Math.cbrt() 立方根函数
Math.clz32() 计算32位无符号整数的最高有效位的数量
Math.cosh() 双曲余弦函数
Math.expm1() 计算e的幂减1
Math.fround() 将双精度浮点数舍入为最接近的32位浮点数
Math.hypot() 计算两个数字的平方和的平方根
Math.imul() 计算两个32位有符号整数的乘积
Math.log10() 计算一个数字的以10为底的对数
Math.log1p() 计算1加一个数字的自然对数
Math.sign() 返回一个数字的正负号
Math.sinh() 双曲正弦函数
Math.tanh() 双曲正切函数
Math.trunc() 截断一个数字到最接近的整数

Date

属性/方法 描述
Date.now() 返回当前时间戳

RegExp

属性/方法 描述
RegExp.escape() 转义正则表达式字符串中的特殊字符

结语

ES6中新增的这些静态属性和方法使我们能够编写更简洁、更强大的代码。我们应该充分利用这些新特性来提高我们的编程效率。