Open HuangHongRui opened 7 years ago
function createObj(arg) {
return new arg()
}
let doit = createObj( class { //传入 类
sayHi() {
console.log('Hi')
}
})
doit.sayHi() // Hi
传入一个匿名类表达式作为参数..然后通过关键字 new 实例化这个类并返回实例. 将其存储于变量obj中
另一种方式.
let person = new class {
constructor (name) {
this.name = name
}
sayname () {
console.log( this.name )
}
}('Raine')
person.sayname() // `Raine`
创建一匿名类表达式, 然后立即执行.. 依照此模式可私用类语法创建单例..且不会在作用域中暴露类的引用..其后小括号表明正在调用一个函数, 且可传参于此函数
程序中, 一等公民( 头等函数 )指的是 : 可传入函数 , 可从函数返回 , 可赋值给变量 的值.
Es6 将 类 也设计为一等公民.. 允许通过多种方式使用类的特性. [ 例如: 将类作为参数传入函数中. ]