在 javascript 中将对象分配给函数的最佳方法
Best way to assign object to a function in javascript
我正在尝试构建我的 Javascript API 以便我可以传递参数和调用方法。
考虑以下几点:
class Cake {
constructor(flavour) {
this._flavour = flavour;
}
slice() {
console.log(`cake sliced`);
}
serve() {
console.log(`${this._flavour} cake served`);
}
}
function cake(flavour) {
return new Cake(flavour);
}
Object.assign(cake, new Cake());
cake('Chocolate').serve();
// => "Chocolate cake is served"
有没有更简单的方法将对象及其方法分配给函数?
更新: 我现在可以看到不需要 Object.assign(cake, new Cake())
,哦。谢谢T.J。拥挤。不过,如果您想到任何更简洁的方法来实现这一目标,请告诉我。
这一行在该代码中没有任何用处:
Object.assign(cake, new Cake());
只需删除它:
class Cake {
constructor(flavour) {
this._flavour = flavour;
}
slice() {
console.log(`cake sliced`);
}
serve() {
console.log(`${this._flavour} cake served`);
}
}
function cake(flavour) {
return new Cake(flavour);
}
cake('Chocolate').serve();
// => "Chocolate cake is served"
这行代码所做的就是用 _flavor = undefined
创建一个 Cake
实例,然后将该实例的所有可枚举属性分配给 cake
函数。所以 cake._flavor
属性 是用值 undefined
创建的。你不想要它,也不需要它。
我正在尝试构建我的 Javascript API 以便我可以传递参数和调用方法。
考虑以下几点:
class Cake {
constructor(flavour) {
this._flavour = flavour;
}
slice() {
console.log(`cake sliced`);
}
serve() {
console.log(`${this._flavour} cake served`);
}
}
function cake(flavour) {
return new Cake(flavour);
}
Object.assign(cake, new Cake());
cake('Chocolate').serve();
// => "Chocolate cake is served"
有没有更简单的方法将对象及其方法分配给函数?
更新: 我现在可以看到不需要 Object.assign(cake, new Cake())
,哦。谢谢T.J。拥挤。不过,如果您想到任何更简洁的方法来实现这一目标,请告诉我。
这一行在该代码中没有任何用处:
Object.assign(cake, new Cake());
只需删除它:
class Cake {
constructor(flavour) {
this._flavour = flavour;
}
slice() {
console.log(`cake sliced`);
}
serve() {
console.log(`${this._flavour} cake served`);
}
}
function cake(flavour) {
return new Cake(flavour);
}
cake('Chocolate').serve();
// => "Chocolate cake is served"
这行代码所做的就是用 _flavor = undefined
创建一个 Cake
实例,然后将该实例的所有可枚举属性分配给 cake
函数。所以 cake._flavor
属性 是用值 undefined
创建的。你不想要它,也不需要它。