js-一些花裏胡哨的js操做

一直沒勇氣文章輸出,實在是由於我菜的摳腳,怕本身寫很差(不用怕,確定寫很差,厲害的人都是打磨出來的),多寫,也能對知識理解的更加透徹,從而認識到本身的不足。typescript

我不知道爲啥,有丟丟的緊張,總結了一些可能用到的js操做,下面請你們閱讀我有屎以來的第一篇文章,有不對的地方歡迎你們及時指正和批評,略~數組

1. 使用^來檢查數字是否不相等

let value = 2008;
// 平時的寫法
if (value !== 2020) console.log('值不存在')
// 更高級的操做
if (value ^ 2020) console.log('值不存在')
複製代碼

2. 使用split(0)來分割字符串能夠節省2字節

let str1 = "掘金,真,棒".split(",");
let str2 = "我0愛0掘金".split(0);
console.log("str:", str1, str2); // str: ["掘金", "真", "棒"] ["我", "愛", "掘金"]
複製代碼

3. 一些能夠替代 undefined 的操做

let un1 = ""._;
let un2 = (1)._;
let un3 = (0)[0];
let un4 = void 0; // void 0 會比寫 undefined 要快一些
console.log("咱們都是undefined:", un1, un2, un3, un4);
// 咱們都是undefined: undefined undefined undefined undefined
複製代碼

4. slice 快速截取數組

let arr = [1, 2, 3, 4, 5];
const newArr1 = arr.splice(0,2);
// slice() 比 splice() 運行速度更快, 而且能夠接受負整數,從末尾開始截取
const newArr2 = arr.slice(0, 2);
console.log(newArr1,newArr2); // [1, 2] [1, 2]
複製代碼

5. 短路求值 || &&

// 使用 || 提供默認值
let value = 10;
// if (this.value === 1) {
// return this.value;
// } else {
// return '沒有value爲1的值';
// }
return (this.value || '沒有value爲1的值');

// 用||判斷減小代碼量
let options: {isRoot: boolean} = {};
const isExist = !!options;
if (!options || options.isRoot) { }

// 使用 && 進行判斷
let obj = {
    get() { }
}
obj && obj.get();
複製代碼

6. 使用 toString(16) 取隨機字符串

let code = Math.random().toString(16).substring(2, 8);
// 看我像不像驗證碼
複製代碼

7. for循環的簡寫

let arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
   console.log("before, arr:", i);
}

for (let i = arr.length; i--;) {
   console.log("after, arr:", i);
   // 注意 i-- 後面的分號別漏了
   // 結果是倒序的
}
複製代碼

8. 給多個變量賦值

let [a, b, c] = [2, 10, 6];
複製代碼

9. 對象屬性賦值

let firstText = "掘金";
let lastText = "社區";
// let obj = { firstText: firstText, lastText: lastText };
let newObj = { firstText, lastText };
// 當變量名和對象的屬性名相同時,js會自動將鍵做爲變量的名,將值做爲變量的值
複製代碼

10. 字符串轉成數字

let number = +'42.6'; // 42.6
複製代碼

結語

結語怎麼寫啊,我好像一個憨憨,我之後會多寫寫,但願你們別噴的太厲害,怕打壓個人積極性哈哈哈哈哈哈哈哈哈markdown

相關文章
相關標籤/搜索