为什么在下面的例子中不能编译这段代码?为什么这个代码不能在打字稿中编译?
“|| this.greeting != "test2"
”
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
setGreeting(g) {
this.greeting = g;
}
test() {
if(this.greeting != "test" || this.greeting != "test2"){
//this.greeting cound still be test3
}
}
}
看起来像解释器中的错误,我将操作符更改为'&&',错误消失了,无论是生成JavaScript的方式。 –
这是很好的打字稿捡起来并标记错误,但有一点更多的思想“操作员不能应用”的错误的两个文字类型与一个共同的基础可以被更有意义的消息沿线“条件是永远是真的“(或”永远不会是真的)“,这将减少导致这个问题的那种混乱。 – Duncan