- ES6 教程
- ES6 - 首頁
- ES6 - 概述
- ES6 - 環境
- ES6 - 語法
- ES6 - 變數
- ES6 - 運算子
- ES6 - 決策
- ES6 - 迴圈
- ES6 - 函式
- ES6 - 事件
- ES6 - Cookie
- ES6 - 頁面重定向
- ES6 - 對話方塊
- ES6 - Void 關鍵字
- ES6 - 頁面列印
- ES6 - 物件
- ES6 - 數字
- ES6 - 布林值
- ES6 - 字串
- ES6 - Symbol
- ES6 - 新的字串方法
- ES6 - 陣列
- ES6 - 日期
- ES6 - 數學
- ES6 - 正則表示式
- ES6 - HTML DOM
- ES6 - 迭代器
- ES6 - 集合
- ES6 - 類
- ES6 - Map 和 Set
- ES6 - Promise
- ES6 - 模組
- ES6 - 錯誤處理
- ES6 - 物件擴充套件
- ES6 - Reflect API
- ES6 - Proxy API
- ES6 - 驗證
- ES6 - 動畫
- ES6 - 多媒體
- ES6 - 除錯
- ES6 - 影像對映
- ES6 - 瀏覽器
- ES7 - 新特性
- ES8 - 新特性
- ES9 - 新特性
- ES6 有用資源
- ES6 - 快速指南
- ES6 - 有用資源
- ES6 - 討論
ES6 - Reflect.construct()
此方法充當 new 運算子,等效於呼叫 new target(...args)。
語法
下面給出的語法適用於函式 construct(),其中,
target 是要呼叫的目標函式。
argumentsList 是一個類似陣列的物件,指定了 target 應該呼叫的引數。
newTarget 是應使用其原型的建構函式。這是一個可選引數。如果未向此引數傳遞任何值,則其值為 targetparameter。
Reflect.construct(target, argumentsList[, newTarget])
示例
以下示例建立一個具有 fullName 屬性的 Student 類。該類的建構函式以 firstName 和 lastName 作為引數。如下所示,使用反射建立 Student 類的物件。
<script>
class Student{
constructor(firstName,lastName){
this.firstName = firstName
this.lastName = lastName
}
get fullName(){
return `${this.firstName} : ${this.lastName}`
}
}
const args = ['Mohammad','Mohtashim']
const s1 = Reflect.construct(Student,args)
console.log(s1.fullName)
</script>
以上程式碼的輸出如下所示:
Mohammad : Mohtashim
廣告