反射
說起來和上一章節的**
基本一樣,只是使用的方式不同,設計理念也不同。
反射
提供了一系列的靜態函式,可以使用reflect.function_name(...prams)
呼叫,這一系列的方法和**
的處理器物件
方法一致
栗子
function sayhelloto(name, age), i am $, $ years old now`)
}let obj=
// hello jack, i am jack, 23 years old now
栗子
function person(name)`)
}let obj=
reflect.construct(person,['jack'])
// person jack
栗子
let obj=
reflect.getownpropertydescriptor(obj, 'name')
//
栗子
let obj={}
reflect.defineproperty(obj,'name',)
console.log(obj) //
栗子
let obj=
reflect.deleteproperty(obj, 'name')
// true
栗子
reflect.ownkeys()
// ["name"]
栗子
reflect.has(,'name')
// true
reflect.has(,'age')
// false
栗子
let obj=
reflect.get(obj, 'name')
// "jack"
栗子
reflect.ownkeys()
// (2) ["name", "age"]
栗子
reflect.i***tensible({})
// true
reflect.i***tensible(object.seal({}))
// false
reflect.i***tensible(object.freeze({}))
// false
let obj=reflect.preventextensions({})
reflect.i***tensible(obj)
// false
栗子
reflect.ownkeys()
// (2) ["name", "age"]
栗子
reflect.setprototypeof(obj, array)
reflect.getprototypeof(obj)
// ƒ array()
栗子
reflect.getprototypeof()
// [constructor: ƒ, concat: ƒ, copywithin: ƒ, fill: ƒ, find: ƒ, …]
es6基礎0x003 預設引數
function name param1 defaultvalue1 paramn defaultvaluen function sum a 0,b 0 sum 0 sum 1 1 sum 1,2 3使用babel翻譯一下 function sum 從babel翻譯的結果可以看出,預設引數只檢查兩種...
ES6新特性 反射 Reflect
es6中將object的一些明顯屬於語言內部的方法移植到了reflect物件上。現階段,為確保前後相容性,某些方法會同時存在於object和reflect物件上 reflect不是函式物件,所以不可構造 不可以用new運算子 也不能將reflect物件作為乙個函式來呼叫 reflect reflec...
ES6 基礎語法
1 var vs let const var 可以定義全域性變數,與之不同,let的重要特性就是提供了塊級作用域和不具備變數提公升。const主要用於定義常量,常量顧名思義不是變數,意思就是一經定義,值就無法改變。首先弄明白塊級作用域 es5中有全域性作用域與函式作用域,塊級作用域是es6中的新語法...