【发布时间】:2020-06-15 01:59:27
【问题描述】:
我正在尝试在 JS 中创建一个自定义类,我必须在其中限制传递给该类的参数。基本上,我想创建一个抛出错误的类,除非传递给该类的参数是“foo”、“bar”或“foobar”。我已经尝试阅读文档,但对 JavaScript 很陌生,但对 JS 是全新的,我无法理解它。
谁能帮忙?
【问题讨论】:
标签: javascript class oop
我正在尝试在 JS 中创建一个自定义类,我必须在其中限制传递给该类的参数。基本上,我想创建一个抛出错误的类,除非传递给该类的参数是“foo”、“bar”或“foobar”。我已经尝试阅读文档,但对 JavaScript 很陌生,但对 JS 是全新的,我无法理解它。
谁能帮忙?
【问题讨论】:
标签: javascript class oop
在您的 class constructor 方法中进行检查应该很容易,其中包含在不遵守类要求时抛出错误的条件:
class MyClass {
constructor(arg) {
const acceptableArgs = ['foo', 'bar', 'foobar'];
if (!acceptableArgs.includes(arg)) {
throw new Error('MyClass instance must be declared with "foo", "bar", or "foobar"!');
}
this.arg = arg;
}
sayHello() {
console.log(`Hi my arg is ${this.arg}`);
}
}
const works = new MyClass('foo');
works.sayHello();
const doesnotwork = new MyClass('uhoh');
doesnotwork.sayHello();
【讨论】: