es6学习笔记(四)

一. 字符串扩展

1. unicode表示的改进

  es5支持unicode表示字符,限于\u0000--\uFFFF之间的字符,超出范围的字符用双字节形式表达

console.log("\u0061"); // "a"
console.log("\u00611"); // "a1",即\u0061 + 1

  es6将码点放进大括号

console.log('\u{00611}'); //不再是"a1";
console.log("\u{61}\u{62}\u{63}");  //abc

2. 字符串遍历(for...of)

for(let code of "foo"){
    console.log(code);
    // f
    // o
    // o
}

3. 字符串查找includes、startsWith、endsWith

es5几乎只有indexOf方法来判断一个字符串是否包含在另一个字符串中。

es6新增这三个方法:

includes:是否包含某个字符串。

startsWith:是否在头部。

endsWith:是否在尾部。

第一个参数是string,第二个参数n表示开始搜索的位置(endsWith针对前n个字符)

4. 字符串重复repeat

 将原字符串重复n次,返回新字符串。

 

二. 正则的扩展

es5中正则表达式对象有一下两种声明方式:

var regex = new RegExp('[a-z]', 'i');
// 等价于
var regex = /[a-z]/i;

es6允许第一个参数为正则表达式

var reg = new RegExp(/[a-z]/, 'i');

1. 能用正则表达式做参数的字符串方法

var str = "abc";
console.log(str.match(/[a-z]/g));// 检索指定的值,返回数组
console.log(str.replace(/[a]/,"b")); //替换字符
console.log(str.search(/[b]/));  //检索指定字符串,返回索引值
console.log(str.split(/[]/)); //分割字符串,返回数组

2. 属性

es5 :source属性获取正则表达式正文

es6 :sticky属性是否使用了y修饰符、flags属性获取正则表达式修饰符

三. 数值的扩展

1. 进制表现法

二进制:0b111110111 === 503

八进制:0o767 === 503

十进制:Number("0b111110111") // 503

2. Number对象的方法与属性

  Number.isFinite() :是否有限

  Number.isNaN():是否为NaN

  Number.parseInt() 全局方法移到了Number对象上

  Number.parseFloat()  全局方法移到了Number对象上

  Number.isInteger() 是否为整数

  Number.EPSILON 常数,一个误差允许范围

  Number.MAX_SAFE_INTEGER / Number.MIN_SAFE_INTEGER:最大安全整数 / 最小安全整数

  Number.isSafeInteger()  :是否为安全整数

3. Math对象

  Math.trunc():去除小数点部分,返回整数

  Math.sign():判断正数、负数、零。正数返回+1、负数返回-1、0返回+0、-0返回-0、其它返回NaN

  Math.cbrt():计算立方根

  Math.clz32():返回数值32位二进制前导0的个数

  Math.hypot():所有参数平方和的平方根(勾股定理的长边)

  三角函数方法

四. 数组的扩展

1. Array.form:将类似数组的对象和可遍历的对象转化为数组。

2. Array.of:将一组值转化为数组

3. 实例方法Array.prototype.copyWithin(target,start,end):数组成员复制并覆盖

4. 实例方法Array.prototype.find(callback) / Array.prototype.findIndex(callback) :数组成员依次执行回调函数

5. 实例方法Array.prototype.fill():填充数组

6. 实例方法entries()(键值对遍历)、keys()(键名遍历)、values()(键值遍历)

7.实例方法Array.prototype.includes():是否包含给定值

 五. 函数的扩展

1. 参数可以设置默认值,参数已默认声明,所以用let、const不能重复声明。

2. length属性返回没有设置默认值的参数个数,指定默认值后,length

 

posted @ 2016-12-14 11:38  zhaoo  阅读(359)  评论(0编辑  收藏  举报