标准库新增
对象
Super 关键字
静态方法
| 方法名 |
描述 |
Object.Is (object, object) |
判断两个变量的值是否严格相等,与严格相等运算符不同的是,NaN和NaN是相等的;+0和-0是不相等的 |
Object.Assign (target[,... Source]) |
将source对象中可枚举的属性复制到target对象中,即对象的合并;同名属性会被覆盖掉,无法复制描述对象中的存取器;只有一个参数会将这个对象原封不动的返回,若不是对象会现转为对象在返回,若是null和undefined会报错;之后个参数若是null或undefined不会报错 |
Object.GetOwnPropertyDescriptors (obj) |
获取obj的所有属性的描述对象,可以用此方法配合assign ()方法复制存取器 |
Object.Values (obj) |
返回obj对象自身的所有属性值的数组(不包括不可枚举的属性) |
Object.Entries (obj) |
返回obj对象自身的所有元素以[属性名, 属性值]形式的二维数组(不包括不可枚举的属性) |
Object.FromEntries (arr) |
返回将元素以[属性名, 属性值]形式的二维数组转化成的对象 |
包装对象
String
静态方法
| 方法名 |
描述 |
String.FromCodePoint (... Unicode) |
可以将超过0 xFFFF的码点字符识别转化为字符串 |
实例方法
查询方法
| 方法名 |
描述 |
String.Prototype.CodePointAt (index) |
返回指定下标的字符Unicode编码,可以识别超过0 xFFFF的码点字符,若下标不合法返回NaN |
String.Prototype.Includes (str) |
判断该字符串中是否包含str字符串 |
String.Prototype.StartsWith (prefix) |
判断该字符串是否以prefix为前缀 |
String.Prototype.EndsWith (suffix) |
判断该字符串是否以suffix为后缀 |
转化方法
| 方法名 |
描述 |
String.Prototype.Repeat (count) |
返回一个当前字符串重复count次拼接的字符串;小数会取整,小于负一的数或Infinity会报错,小于 0 大于-1 或NaN会视为 0 |
String.Prototype.PadStart (len, str) |
返回一个使用str头部补全(一次不够则会重复补)到len长度的字符串 |
String.Prototype.PadEnd (len, str) |
返回一个使用str尾部补全(一次不够则会重复补)到len长度的字符串 |
String.Prototype.TrimStart () |
返回一个去除头部空白的字符串 |
String.Prototype.TrimEnd () |
返回一个去除尾部空白的字符串 |
数值
静态方法
将全局有管数值型的函数移植到 Number 上
| 方法名 |
描述 |
Number.IsFinite (number) |
判断是否是有限数,非数字会先转化成数值型 |
Number.IsNaN (number) |
判断是否是NaN,非数值会先转化成数值型 |
Number.ParseInt (string) |
将字符串转化成整型数值 |
Number.ParseFloat () |
将字符串转化成浮点型数值 |
新增了Number.IsInteger ()方法、Number.IsSafeInteger ()方法和Number. EPSILON属性
| 方法名 |
描述 |
Number.IsInteger (number) |
判断是否为整数,注意小数点后全零也是整数 |
Number.IsSafeInteger (number) |
判断是否在能精确表示的数值范围中 |
Number. EPSILON |
极小数,用来做浮点数运算误差范围 |
数组
静态方法
| 方法名 |
描述 |
Array.From (obj[, callback]) |
将伪数组对象转化成正真的数组,会将空位转化为undefined;callback类似与数组中的map ()函数处理对象的属性,但是不会处理length属性 |
Array.Of (... Element=[]) |
将一组值转化成一个数组,弥补了Array ()构造函数的参数不统一 |
实例方法
转化方法
| 方法名 |
描述 |
Array.Prototype.CopyWithin (target, start=0, end=this. Length) |
原数组的target位置开始,使用原数组中[start,end)范围的元素进行替换 |
Array.Prototype.Fill (element, start=0, end=this. Length) |
使用element填充数组元素,可以指定填充范围 |
Array.Prototype.Flat (layer=1) |
将嵌套数组拉平一层,可以指定层数,若参数是Infinity则都会转化成一维数组 |
Array.Prototype.FlatMap (callback[, thisTar]) |
将嵌套数组拉平一层并且只能拉平一层,cllback类似于数组的map ()函数处理数组元素,第二个参数绑定回调的this指向 |
转化方法
| 方法名 |
描述 |
Array.Prototype.Find (callback[, thisTar]) |
找出第一个使该回调函数返回true的元素,第二个参数绑定回调的this指向 |
Array.Prototype.FindIndex (callback[, thisTar]) |
找出第一个使该回调函数返回true的元素下标,第二个参数绑定回调的this指向 |
Array.Prototype.Include (element) |
判断该数组中是否包含element元素,可以识别NaN |
Math
静态方法
| 方法名 |
描述 |
Math.Trunc (number) |
取整 |
Math.Cbrt (number) |
立方根 |
Math.Hypot (... Number) |
平方和的平方根 |
正则
新增修饰符
| 符号 |
描述 |
y |
粘连,与全局搜索不同的是每次需要从上次匹配结束位置开始的第一个字符匹配正则,否则匹配不到返回 null,也就是说他们要连序匹配 |
u |
可以识别超过0 xFFFF的码点字符 |
s |
dotAll 模式,.可以匹配任意字符就包括换行符等终止符号了 |
实例属性
| 属性名 |
描述 |
RegExp. Prototype. Sticky |
判断是否设置了y修饰符 |
RegExp. Prototype. Unicode |
判断是否设置了u修饰符 |
RegExp. Prototype. DotAll |
判断是否设置了s修饰符 |
RegExp. Prototype. Flags |
返回所有修饰符,包括新增的 |
命名的分组捕获
可以为正则的每一组匹配最前面使用?<name>方式起名
Let t = "1997-01-01".Match (/(\d{4})-(\d{2})-(\d{2})/);
Console.Log (t);
t = "1997-01-01".Match (/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/);
Console.Log (t);
先行和后行断言
使用匹配单词 (? 断言)的形式指定先行断言匹配,使用(?>断言) 匹配单词的形式指定后行断言,主要这里的括号不是分组匹配
Let str = "a 1_a 3";
Console.Log (str.Match (/a (?=1)/));
Console.Log (str.Match (/a (?! 1)/));
Let str = "1 a_3 a";
Console.Log (str.Match (/(?<=1) a/));
Console.Log (str.Match (/(?<! 1) a/));
Comments NOTHING