Javascript 如何知道对象的构造方式是否正确,以及如果它们';你不是吗?
例如,如果我有3个类,其中2个是第3个类的一部分,我如何知道这些类型是正确的,如果不正确怎么办:Javascript 如何知道对象的构造方式是否正确,以及如果它们';你不是吗?,javascript,Javascript,例如,如果我有3个类,其中2个是第3个类的一部分,我如何知道这些类型是正确的,如果不正确怎么办: class A { constructor(someString) { this.shouldBeString = someString } } class B { constructor(someBoolean) { this.shouldBeBoolean = someBoolean } } class C { cons
class A {
constructor(someString) {
this.shouldBeString = someString
}
}
class B {
constructor(someBoolean) {
this.shouldBeBoolean = someBoolean
}
}
class C {
constructor(classAObject, classBObject) {
this.shouldBeClassAObj = classAObject
this.shouldBeClassBObj = classBObject
}
}
let a = new A("hello")
let b = new B(true)
let c = new C(a, b)
Javascript中是否有某种方法可以处理缺少静态类型的问题,从而不必编写一行又一行的验证代码?如果有,并且它失败了,您如何处理失败的构造函数?是否返回null、未定义、抛出异常?您应该改用TypeScript。您是否询问是否可以自动验证
C
的构造函数的参数是否为A
和B
的实例?若有,否;;您需要自己验证。Ducktyping或TyepScript。构造器怎么会失败呢?所以基本上,不要担心副作用,让程序员担心发现他们做错了什么?我想这是解决这个问题的简单方法。这就是动态类型背后的基本原理。