1. 使用模板字符串
使用+運(yùn)算符拼接字符串來(lái)構(gòu)建有意義的字符串,這是過(guò)時(shí)的做法。此外,將字符串與動(dòng)態(tài)值(或表達(dá)式)連接可能會(huì)導(dǎo)致計(jì)算或表達(dá)錯(cuò)誤。
let name = 'Charlse';
let place = 'India';
// 使用`+`運(yùn)算符的字符串連接
let messageConcat = 'Mr. ' + name + ' is from ' + place + '. He is a' + ' ' + ' member'
2. isInteger
有一種更簡(jiǎn)潔的方法可以知道值是否為整數(shù)。JavaScript 的 Number API 提供了名為 isInteger() 的方法來(lái)實(shí)現(xiàn)此目的。這是非常有用的,最好了解一下。
let mynum = 123;
let mynumStr = "123";
console.log(`${mynum} is a number?`, Number.isInteger(mynum));
console.log(`${mynumStr} is a number?`, Number.isInteger(mynumStr));
3. 使用 && 運(yùn)算符化簡(jiǎn)表達(dá)式
讓我們考慮一個(gè)具有布爾值和函數(shù)的情況。
let isPrime = true;
const startWatching = () => {
console.log('Started Watching!');
}
復(fù)制代碼
像下面這樣,通過(guò)檢查布爾值來(lái)確定是否調(diào)用函數(shù),代碼太多了。
if (isPrime) {
startWatching();
}
能否通過(guò) AND(&&)運(yùn)算符使用簡(jiǎn)寫(xiě)形式?是的,完全可以避免使用 if 語(yǔ)句。
isPrime && startWatching();
4. 使用 || 運(yùn)算符處理默認(rèn)值
如果您想為變量設(shè)置默認(rèn)值,可以使用 OR(||)運(yùn)算符輕松實(shí)現(xiàn)。
let person = {name: 'Jack'};
let age = person.age || 35; // 如果 age 未定義,則將值設(shè)置為 35
console.log(`Age of ${person.name} is ${age}`);
5. 函數(shù)默認(rèn)參數(shù)
在JavaScript中,函數(shù)實(shí)參(或形參)就像該函數(shù)的局部變量一樣。調(diào)用函數(shù)時(shí),您可以傳遞也可以不傳遞值。如果您不為參數(shù)傳遞值,則該值將是undefined,并且可能會(huì)導(dǎo)致一些多余的副作用。
有一種在定義參數(shù)時(shí)將默認(rèn)值傳遞給函數(shù)參數(shù)的簡(jiǎn)單方法。在以下示例中,我們將默認(rèn)值Hello傳遞給greetings函數(shù)的參數(shù)message。
let greetings = (name, message='Hello,') => {
return `${message} ${name}`;
}
console.log(greetings('Jack'));
console.log(greetings('Jack', 'Hola!'));
6. isArray
確定輸入是否為數(shù)組的另一種有用方法。
let emojis = ['a', 'b', 'c', 'd'];
console.log(Array.isArray(emojis));
let obj = {};
console.log(Array.isArray(obj));
復(fù)制代碼
7. undefined 和 null
undefined指的是還沒(méi)有給變量定義值,但已經(jīng)聲明了該變量。
null本身是一個(gè)空且不存在的值,必須將其顯式賦值給變量。
undefined和null并不嚴(yán)格相等,
undefined === null // false
鏈接:https://juejin.im/post/6887428533988589575
【 微信掃一掃 】