小编Ber*_*gan的帖子

ECMAScript2015类vs Object.create vs new vs Object.setPrototypeOf

随着ES6的出现,我们得到了一种创建对象的新方法.我的问题是我们现在应该如何创建对象?假设新运算符的工作原理如下

function createNewObject(parentFunction){
    var obj = {};
    Object.setPrototypeOf(obj, parentFunction.prototype);
    return parentFunction.apply(obj, Array.prototype.slice.call(arguments,1)) || obj;
}
Run Code Online (Sandbox Code Playgroud)

但是在创建课程时究竟发生了什么?在es6中创建对象的当前"正确"方式是什么?

javascript ecmascript-6 es6-class

3
推荐指数
1
解决办法
2089
查看次数

创建多个抽象类 javascript ES6

今天我想出了一个想法,使用Proxy对象,允许创建多个抽象类,例如

const abstract = abstractClass => new Proxy(abstractClass,{
  construct: (target, args) => { throw new Error('Error, class was declared as abstract!') }
});

class A{}
class B{}
class C{}
[A,B,C] = [A,B,C].map(c => abstract(c));
Run Code Online (Sandbox Code Playgroud)

所以我的问题是这个解决方案是否有任何缺点,如果有,它们是什么。

javascript oop abstract-class ecmascript-6

2
推荐指数
1
解决办法
1137
查看次数

带有自动装配的打字稿依赖注入

是否有任何打字稿框架允许用户使用众所周知的 java-spring 自动装配?例子

class A {
   public print() : void;
}

class B {
   constructor(a : A)
}
var obj = CONTAINER.get("B");
Run Code Online (Sandbox Code Playgroud)

容器是 API 的一部分

api dependency-injection typescript

0
推荐指数
1
解决办法
4105
查看次数