es6基礎0x021 反射

2021-09-13 08:20:27 字數 1799 閱讀 7495

反射說起來和上一章節的**基本一樣,只是使用的方式不同,設計理念也不同。

反射提供了一系列的靜態函式,可以使用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中的新語法...