-
可以去掉40行的function
查看全部 -
只有一個參數可以不寫小括號
查看全部 -
es6簡寫箭頭函數
查看全部 -
es6寫法。66
查看全部 -
以前de以前的函數寫法
查看全部 -
優先用const,確實需要改變值才用let聲明
查看全部 -
遞歸凍結,keys第一次見
查看全部 -
freeze只能凍結基本數據類型,而不能凍結嵌套的對象如數組
查看全部 -
freeze凍結堆內存
查看全部 -
不可被改變指的是引用地址不變,但存在于堆內存中的數據可以改變
查看全部 -
const定義常量的特點
查看全部 -
vscode插件安裝
查看全部 -
object.freese()凍結查看全部
-
解構直接取data
查看全部 -
const 聲明基本數據類型的時候。number , 布爾,字符串,undefind是不能改變的
const 聲明 引用數據 object array 類型的時候,是可以進行改變的,
因為 修改的是引用地址的內容,并不是引用的地址。
如果需求里 需要 對象和數組 也是不可修改的,可以用 Object.freeze().凍結這個對象或者函數。就可以不被改變了,但是他只能作為淺層次的凍結,只能凍結第一層。深層次的無法凍結
解決方案
使用遞歸 將深層次的對象或者數組進行凍結
function myFreeze(obj){
//將第一層凍結住
Object.freeze(obj);
// Object.keys() 方法會返回一個由一個給定對象的自身可枚舉屬性組成的數組
console.log(Object.keys(obj)) //['name', 'year', 'extension']
Object.keys(obj).forEach(function(key){
if(typeof obj[key] == 'object'){
console.log(typeof obj[key])
myFreeze(obj[key])
}
})
}
查看全部 -
const?
不允許重復聲明
是唯一的
不屬于頂層對象window
const 避免污染全局變量
不存在變量提升
暫時性死區
塊級作用域
用const 聲明一個不可改變的常量
查看全部 -
Object.freeze() 不僅能凍結對象 還能凍結數組呀
Object.freeze()只能淺層次凍結,嵌套引用不能凍結
//自行封裝凍結?遞歸 function?myFreeze(obj){ ????Object.freeze(obj); ????Object.keys(obj).forEach(function(key){ ????????if(typeof?obj[key]?==?'object'){ ????????????myFreeze(obj[key]); ????????} ????}) }
查看全部 -
const 不能重復聲明
const 不屬于頂層對象window
const不存在變量提升
暫時性死區
塊級作用域
查看全部 -
查看全部
-
箭頭函數
查看全部 -
let & const
查看全部 -
const
查看全部 -
只能淺層次凍結,不能深層次凍結查看全部
舉報