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