為什么我在第一次console.log的后面去改變的extension[0]里面的值, 第一次console.log里面extension[0]的值為什么不是es7而是es2016呢?
<script>
????const?esobj?=?{
????????name:?"es6",
????????year:?"2015",
????????extension:?["es7",?"es8",?"es9"]
????}
????Object.freeze(esobj);
????esobj.name?=?"es2015"
????console.log(esobj)
????esobj.extension[0]?=?"es2016"
????console.log(esobj)
</script>
2022-07-04
1、上面的extension是個數組,是引用數據類型,引用數據類型是存儲在堆內存的
2、Object.freeze()是淺層凍結,不是深層凍結
3、console.log()的輸出可以理解為是一種異步的,可以看下這里:https://www.jianshu.com/p/f7535d62acbd