11.反射

console.log(Math.floor.apply(null, [3.72]))
console.log(Reflect.apply(Math.floor, null, [4.72]))
// Math.ceil
let price = 91.5
if (price > 100) {
  price = Math.floor.apply(null, [price])
} else {
  price = Math.ceil.apply(null, [price])
}
console.log(Reflect.apply(price > 100 ?
Math.floor : Math.ceil, null, [price]))
// object
let d = new Date()
console.log(d.getTime())

let d = Reflect.construct(Date, [])
console.log(d.getTime(), d instanceof Date)

const student = {}
const r = Reflect.defineProperty(student, 'name',
{ value: 'Mike2' })
console.log(student, r)
const obj = { x: 1, y: 2 }
Reflect.deleteProperty(obj, 'x')
console.log(obj)
console.log(Reflect.get(obj, 'x'))
console.log(Reflect.get([3, 4], 1))

console.log(Object.getOwnPropertyDescriptor(obj, 'y'))

let d = new Date()
console.log(Reflect.getPrototypeOf(d))
const obj = { x: 1, y: 2 }
console.log(Reflect.has(obj, 'y'))
obj.z = 3
Object.freeze(obj)
obj.z = 3
console.log(Reflect.isExtensible(obj))
console.log(obj)
console.log(Reflect.ownKeys(obj))
console.log(Reflect.ownKeys([1, 2]))
// Symbol
Reflect.preventExtensions(obj)
console.log(Reflect.isExtensible(obj))
Reflect.set(obj, 'z', 4)
console.log(obj)
const arr = ['duck', 'duck', 'duck']
// Reflect.set(arr, 2, 'goose')
console.log(arr)
console.log(Reflect.getPrototypeOf(arr))
Reflect.setPrototypeOf(arr, String.prototype)
// arr.sort()
console.log(Reflect.getPrototypeOf(arr))

學(xué)習(xí)視頻記錄

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容