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)。







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章