學會這些技巧,可以幫助我們在寫 JavaScript代碼時,讓代碼變得更加簡潔,同時,也會彰顯你的專業性,還會提升工作效率。
現在,我們就開始今天的內容。
1、三元表達式
JavaScript 中的三元表達式的語法類似於條件 if part_1 else part_2。例如,讓我們看一下以下代碼片段:
x = 10 x % 2 == 0? console.log("even") : console.log("odd"); // even
2、快速實現檢查數據類型
通常我們會想要檢查變量的數據類型,這裏有一個函數可以讓您輕鬆完成!
function checkDat(tgt, type_input) { const type = Object.prototype.toString.call(tgt).replace(/\[object (\w+)\]/, "$1").toLowerCase(); return type_input ? type === type_input : type; } console.log(checkDat("test")); // "string" console.log(checkDat(1)); // "number" console.log(checkDat(true)); // "boolean" console.log(checkDat([], "array")); // true console.log(checkDat({}, "array")); // false
3、檢查空數組
有一種快速的方法可以檢查數組是否爲空或空!
const arr = []; const flag = Array.isArray(arr) && !arr.length; const arr_1 = [1]; const flag1 = Array.isArray(arr_1) && !arr_1.length; console.log(flag); // true console.log(flag1); // false
4、Short Circuit
當變量評估爲真時,使用它執行某些操作:
function something() { console.log("Hello"); } const flag = false; !flag && something(); // Hello const flag1 = true; !flag1 && something(); // Nothing
5、 合併數組
輕鬆合併兩個數組!
var arr1 = [0, 1, 2]; var arr2 = [3, 4, 5]; var arr = [...arr1, ...arr2]; console.log(arr); //[0, 1, 2, 3, 4, 5];
6、刪除數組中的重複項
使用 Set 在一行中刪除數組中的重複項:
const arr = [...new Set([0, 1, 1, 2, 2])]; console.log(arr); // arr => [0, 1, 2]
7、 沒有臨時變量的交換變量
如標題:在一行中交換變量:
let a = 0; let b = 1; [a, b] = [b, a]; console.log(a); // a = 1 console.log(b); // b = 0
8、過濾掉空值
在一行中過濾掉所有與 null 相關的值(Nah、undefined、null、")!:
const arr = [undefined, null, "", 0, false, NaN, 1, 2, "String"].filter(Boolean); console.log(arr); // [ 1, 2, 'String' ]
9、合併對象
我們不僅可以在一行中合併兩個數組,還可以對對象進行合併!
const obj1 = { a: 0, b: 1, c: 2 }; const obj2 = { c: 3, d: 4, e: 5 }; const obj = { ...obj1, ...obj2 }; console.log(obj) // { a: 0, b: 1, c: 3, d: 4, e: 5 }
10、一行生成隨機數
讓我們在一行中生成隨機數:
const RandomNum = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min; const num = RandomNum(1, 10); console.log(num); // 6 for example
寫在最後
以上就是我今天跟你分享的10關於JavaScript的技巧,希望你能學到一些新知識,並且將它應用到你的實際開發中!想要了解更多歡迎前往公衆號:web前端開發社區,每日干貨分享