- 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
广告