雜項
hasOwnProperty方法
回傳物件屬性的"鍵"是否存在的判斷:
const obj ={}
obj.prop = 'exists'
console.log(obj.hasOwnProperty('prop') )
console.log(obj.hasOwnProperty('toString')) // falseObject.create
用Object.create建立物件,在原型中比new正統
Object.create與new運算符相似,差別在
Object.create不會執行建構函式
const PlayerPrototype = {
name: '',
toString() {
return 'Name: '+ this.name
}
}
const inori = Object.create(PlayerPrototype)
inori.name = 'iNori'
console.log(inori.toString())模組(Module)樣式
這個樣式使用了IIFE
用來模擬物件中的私有成員上(私有屬性與方法)與公開成員
柯里化(Currying)與部份應用(Partial application)
部份應用: 代表一個函式其中有部份的傳入值(一個或多個)被傳入,然後回傳一個已經有部份傳入值的函式。(部份帶入)
柯里:把原本多個傳入參數的函式,轉變為一次只傳入一個參數的函式,可以連續呼叫使用。(逐一帶入)
部份應用(Partial application)
柯里化
展開運算符與其餘運算符
兩者符號相同都是...
展開運算符(Spread Operator)用於展開陣列
其餘運算符(Rest Operator)用在二個地方。
一個是傳入參數定義中。另一種情況是用在解構賦值時。
函式傳入參數定義中也可以使用解構賦值
generator
可中斷的函數,且可恢復執行
每次執行一個區間的代碼,分段執行,且異步調用
遇到yield就停止,傳回執行結果
*表示此為generator
Last updated
Was this helpful?