クロコめも2。

ただのめもー

vuexのソースを見てて理解できないとこ。その1

src/util.js

/**
* Deep clone an object. Faster than JSON.parse(JSON.stringify()).
*
* @param {*} obj
* @return {*}
*/

export function deepClone (obj) {
    if (Array.isArray(obj)) {
        return obj.map(deepClone)
    } else if (obj && typeof obj === 'object') {
        var cloned = {}
        var keys = Object.keys(obj)
        for (var i = 0, l = keys.length; i < l; i++) {
            var key = keys[i]
            cloned[key] = deepClone(obj[key])
        }
        return cloned
    } else {
        return obj
    }
}

for文の中にある「l」はなんの意味があるんやろうか?

    for (var i = 0; i < keys.length; i++) {

じゃあだめなんやろか?

パフォーマンスの問題かと思って50万回ぐらい実行したタイムを比較したら特に違いが見られなかったんだよねぇー

んで、書式的にもlが理解できない。

var でもない。let をつけたらコンパイルエラー。

何これ?