ECMAScript 6 新特性

1 字符串处理新方法

(1)includes()

          判断字符串中是否包含某个子串,若包含则返回true,否则返回false

(2)startsWith()

          判断字符串是否以某个子串开始,若是则返回true,否则返回false

(3)endsWith()

          判断字符串是否以某个子串结束,若是则返回true,否则返回false

以上三个方法均可接收两个参数,第一个参数为所有查找的子串,第二个参数为原字符串的偏移量(即从原字符串的第几个字符开始查找),第二个参数为可选参数。

示例:

var msg = "Hello world!";

console.log(msg.startsWith("Hello"));       // true
console.log(msg.endsWith("!"));             // true
console.log(msg.includes("o"));             // true

console.log(msg.startsWith("o"));           // false
console.log(msg.endsWith("world!"));        // true
console.log(msg.includes("x"));             // false

console.log(msg.startsWith("o", 4));        // true
console.log(msg.endsWith("o", 8));          // true
console.log(msg.includes("o", 8));          // false

(4)repeat()

          该方法接收一个参数,用以表示原字符串重复的次数。

示例:

'winstar'.repeat(2);      // "winstarwinstar"


2 Object.is()

在JavaScript(ECMAScript)中可以使用”==“或者”===“来进行比较运算,但有时这两个比较运算符也会遇到不适用的场景,这时候Object.is()方法就派上用场了:

console.log(+0 == -0);              // true
console.log(+0 === -0);             // true
console.log(Object.is(+0, -0));     // false

console.log(NaN == NaN);            // false
console.log(NaN === NaN);           // false
console.log(Object.is(NaN, NaN));   // true

console.log(5 == 5);                // true
console.log(5 == "5");              // true
console.log(5 === 5);               // true
console.log(5 === "5");             // false
console.log(Object.is(5, 5));       // true
console.log(Object.is(5, "5"));     // false


3 let

在旧的ECMAScript中,是没有块级作用域的,而使用let关键字来声明变量,可以弥补这一缺陷。

注意:通过let声明的变量,不会被提升(hosted)。







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值