wxif 判断字符串相等_ES6:字符串、数组、对象的扩展
字符串的擴(kuò)展
ES6中的字符串?dāng)U展,用得少,而且邏輯相對(duì)簡(jiǎn)單。如下:
- includes(str):判斷是否包含指定的字符串
- startsWith(str):判斷是否以指定字符串開頭
- endsWith(str):判斷是否以指定字符串結(jié)尾
- repeat(count):重復(fù)指定次數(shù)
舉例如下:
let str = 'abcdefg';console.log(str.includes('a'));//trueconsole.log(str.includes('h'));//false//startsWith(str) : 判斷是否以指定字符串開頭console.log(str.startsWith('a'));//trueconsole.log(str.startsWith('d'));//false//endsWith(str) : 判斷是否以指定字符串結(jié)尾console.log(str.endsWith('g'));//trueconsole.log(str.endsWith('d'));//false//repeat(count) : 重復(fù)指定次數(shù)aconsole.log(str.repeat(5));打印結(jié)果:
Number 的擴(kuò)展
- 二進(jìn)制與八進(jìn)制數(shù)值表示法: 二進(jìn)制用0b, 八進(jìn)制用0o。
舉例:
console.log(0b1010);//10console.log(0o56);//46- Number.isFinite(i):判斷是否為有限大的數(shù)。比如Infinity這種無窮大的數(shù),返回的就是false。
- Number.isNaN(i):判斷是否為NaN。
- Number.isInteger(i):判斷是否為整數(shù)。
- Number.parseInt(str):將字符串轉(zhuǎn)換為對(duì)應(yīng)的數(shù)值。
- Math.trunc(i):去除小數(shù)部分。
舉例:
//Number.isFinite(i) : 判斷是否是有限大的數(shù)console.log(Number.isFinite(NaN)); //falseconsole.log(Number.isFinite(5)); //trueconsole.log(Number.isFinite(Infinity)); //false//Number.isNaN(i) : 判斷是否是NaNconsole.log(Number.isNaN(NaN));//trueconsole.log(Number.isNaN(5));//falsse//Number.isInteger(i) : 判斷是否是整數(shù)console.log(Number.isInteger(5.23));//falseconsole.log(Number.isInteger(5.0));//trueconsole.log(Number.isInteger(5));//true//Number.parseInt(str) : 將字符串轉(zhuǎn)換為對(duì)應(yīng)的數(shù)值console.log(Number.parseInt('123abc'));//123console.log(Number.parseInt('a123abc'));//NaN// Math.trunc(i) : 直接去除小數(shù)部分console.log(Math.trunc(13.123));//13數(shù)組的擴(kuò)展
下面提到的數(shù)組的幾個(gè)方法,更詳細(xì)的內(nèi)容,可以看《04-JavaScript基礎(chǔ)/17-數(shù)組的常見方法.md》。擴(kuò)展1:Array.from()
Array.from(偽數(shù)組/可遍歷的對(duì)象)作用:將偽數(shù)組或可遍歷對(duì)象轉(zhuǎn)換為真數(shù)組。
擴(kuò)展2:Array.of()
Array.of(value1, value2, value3)作用:將一系列值轉(zhuǎn)換成數(shù)組。
擴(kuò)展3:find() 和 findIndex()
方法1:
find(function(item, index, arr){return true})作用:找出第一個(gè)滿足「指定條件返回true」的元素。
方法2:
findIndex(function(item, index, arr){return true})作用:找出第一個(gè)滿足「指定條件返回true」的元素的index。
對(duì)象的擴(kuò)展
擴(kuò)展1
Object.is(v1, v2)作用:判斷兩個(gè)數(shù)據(jù)是否完全相等。底層是通過字符串來判斷的。
我們先來看下面這兩行代碼的打印結(jié)果:
console.log(0 == -0);console.log(NaN == NaN);打印結(jié)果:
truefalse上方代碼中,第一行代碼的打印結(jié)果為true,這個(gè)很好理解。第二行代碼的打印結(jié)果為false,因?yàn)镹aN和任何值都不相等。
但是,如果換成下面這種方式來比較:
console.log(Object.is(0, -0));console.log(Object.is(NaN, NaN));打印結(jié)果卻是:
falsetrue代碼解釋:還是剛剛說的那樣,Object.is(v1, v2)比較的是字符串是否相等。
擴(kuò)展2(重要)
Object.assign(目標(biāo)對(duì)象, 源對(duì)象1, 源對(duì)象2...)作用: 將源對(duì)象的屬性追加到目標(biāo)對(duì)象上。如果對(duì)象里屬性名相同,會(huì)被覆蓋。
其實(shí)可以理解成:將多個(gè)對(duì)象合并為一個(gè)新的對(duì)象。
舉例:
let obj1 = { name: 'smyhvae', age: 26 };let obj2 = { city: 'shenzhen' };let obj3 = {};Object.assign(obj3, obj1, obj2);console.log(obj3);打印結(jié)果:
上圖顯示,成功將obj1和obj2的屬性復(fù)制給了obj3。
擴(kuò)展3:__proto__屬性
舉例:
let obj1 = {name:'smyhvae'};let obj2 = {};obj2.__proto__ = obj1;console.log(obj1);console.log(obj2);console.log(obj2.name);打印結(jié)果:
上方代碼中,obj2本身是沒有屬性的,但是通過__proto__屬性和obj1產(chǎn)生關(guān)聯(lián),于是就可以獲得obj1里的屬性。
總結(jié)
以上是生活随笔為你收集整理的wxif 判断字符串相等_ES6:字符串、数组、对象的扩展的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: python字符串逆序输出代码_一行代码
- 下一篇: python中字符串的制表符为_零基础学
