1.強制布爾值
要將變量強制轉換為布爾值而不更改其值:
const myBoolean = !! myVariable; !!null // false !!undefined // false !!false // false !!ture // ture !!"" // false !!"string" // true !!0 // false !!1 // true !!{} // true !![] // true 2.基于某個條件為對象設置屬性
要使用spread運算符有條件地在對象上設置屬性:
const myObject = {... myProperty && {propName:myPoperty}}; let myProperty = 'Jhon' const myObject = {...myProperty && {propName: myProperty}}; // {propName: "Jhon"} let myProperty = '' const myObject = {...myProperty && {propName: myProperty}}; // {} 如果myProperty結果為false,則 && 失敗并且不設置新屬性; 否則,如果不為空,&& 將設置新屬性并覆蓋原來的值。
3.合并對象
const mergedObject = { ...objectOne, ...objectTwo }; const mergedObject = { ...{name: 'Jhon', age: '18'}, ...{name1: 'jhon1', age1: '12'}}; // {name: "Jhon", age: "18", name1: "jhon1", age1: "12"} const mergedObject = { ...{name: 'Jhon', age: '18'}, ...{name: 'jhon1', age:'12'}}; // {name: "jhon1", age: "12"} 支持無限制合并,但如果對象之間存在相同屬性,則后面屬性會覆蓋前面屬性。*請注意,這僅適用于淺層合并。
4.交換變量
要在不使用中間變量的情況下交換兩個變量的值:
[varA,varB] = [varB,varA]; let a = 1; let b = 2; [a, b] = [b, a] // a = 2 b = 1 5.刪除Boolean 為 false 值const clean = dirty.filter(Boolean); const clean = [0, false, true, undefined, null, '', 12, 15].filter(Boolean); // [true, 12, 15]
這將刪除值等于:null,undefined,false,0 和空字符串('')。
6.轉換元素類型
要將Number元素轉換為String元素:
const stringArray = numberArray.map(String); const stringArray = [1, 2, 3].map(String); ["1", "2", "3"]
如果數組包含字符串,字符串原樣保留。 這也可以用于將String元素轉換為Number類型:
const numberArray = stringArray.map(Number); const stringArray = ["1", "2", "3"].map(String); // [1, 2, 3]
7.格式化對象為JSON代碼
要以可讀的格式顯示JSON代碼:
const formatted = JSON.stringify(myObj, null, 4); const formatted = JSON.stringify({name: 'Jhon', age: 18, address: 'sz'}, null, 4); /* { "name": "Jhon", "age": 18, "address": "sz" } */ 該字符串化命令有三個參數。第一個是Javascript對象。第二個是可選函數,可用于在JSON進行字符串化時對其執行操作。最后一個參數指示要添加多少空格作為縮進以格式化JSON。省略最后一個參數,JSON將返回一個長行。如果myObj中存在循環引用,則會格式失敗。
8.快速創建數字數組
新聞熱點
疑難解答
圖片精選