我正在使用Typescript来创建一些应用程序,我不知道在声明变量或方法时我应该在类型或接口/类之间使用什么。
类型示例:
public equals(rect: Rectangle): boolean {
return (this.x === rect.x && this.y === rect.y && this.width === rect.width && this.height === rect.height);
}
接口/类的示例:
public equals(rect: Rectangle): Boolean {
return (this.x === rect.x && this.y === rect.y && this.width === rect.width && this.height === rect.height);
}
这两种解决方案之间有更好的方法吗?为什么我们要使用一个而不是另一个?
答案 0 :(得分:4)
您几乎应该始终使用boolean
代替Boolean
。
小写版本boolean
,number
和string
引用同名的JavaScript基元类型。这些是您从true
,1 + 1
或"hello"
等常规表达式中获得的类型。
大写版本Boolean
,Number
和String
指的是相同类型的object
版本。如果你努力的话,你只能得到这样的物体,例如:致电new String('hello')
。这些对象大多数的行为与它们的原始对象相似,但行为略有不同(例如typeof (new String('hello'))
是" object
"而不是"string"
。基本上,除非你有理由不这样做,否则不要考虑这些。
答案 1 :(得分:2)
Boolean 是一个包装器对象。例如,你可以写:
var b = new Boolean('true');
boolean 是三种基本类型的JavaScript之一。在这种情况下,您应该使用 boolean 。 Boolean 的用例非常少,但这是一个不同的帖子。
这个问题通常只在处理原语时出现:布尔,字符串和数字。与 boolean 一样,始终使用小写版本,因为它表示基本类型而不是它的包装。