🐡
JSのconsole.logの思わぬ落とし穴にはまって苦しんだ話
結論
- JSのconsole.logは参照渡し
- 各時点の値を保持しているのではない
- 最後に値が確定したらその値で上書きされる?
以下の記事が非常に参考になりました。本当に感謝しかないです。。。
苦労(私)
例
let obj = {
a: '1'
}
console.log(obj) // => {a: '2'}
obj.a = "2"
console.log(obj) // => {a: '2'}
あとがき
後でわかったのですが、関数の引数も参照渡しなんですね。値渡してると思ってめんどくさいことに。。。console.logも関数の引数だから?オブジェクトは基本参照渡しなんですかね?
関連ページ
Discussion