2020年12月6日 星期日

[JS] 從網路上看到的小技巧文章整理

1. 過濾唯一值
    Set 
2. for loop 先需告長度,先緩存就不需每次都重算,強化性能
    let i = 0, length = array.length; i < length; i++
3. 短路求值
    原本的三元視情況改使用 && ||
4. 轉型成布林
    !!
5. 轉型成字串
    +''
6. 轉型成數字
    + 或 *1 或 ~~,但~~小數在會被捨去
7. 冪運算
    ** 及 <<
    例如 Math.pow(2,4) 等於 2**4 等於 2<<3
8. 快速取整 (無條件捨去)
    n|0
9. 自動類(class)綁定,通常是在 react 中
    使用箭頭函式,this.myMethod.bind(this) 變成 this.myMethod()
10. 截取陣列
    已知取頭幾個元素,直接 assign 該陣列長度
    slice() 速度更快。也可用負數取尾幾個元素
11. 加強格式化 JSON 易讀性
    JSON.stringify(value[, replacer[, space]])
    replacer 有篩選的意味,可以是數字、字串、布林、物件、undefined;space 控制格式
    
JSON.stringify({ alpha: 'A', beta: 'B' }, null, '\t')
12. 過濾 false 值
    .filter(Boolean)
13. 一次性函數
    var sca = function(){
        console.log('只出現一次') 
        sca = function(){
            console.log('剩下都是我')
        }
    }
    sca() // '只出現一次'
    sca() // '剩下都是我'
    sca() // '剩下都是我'
    sca() // '剩下都是我'