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