TypeScript:正确的字符串相等方式?

时间:2015-01-04 21:20:46

标签: typescript

如果我知道x和y都是字符串类型,那么只是x == y的字符串相等的正确方法吗?

我正在使用的linter抱怨这个。

4 个答案:

答案 0 :(得分:32)

如果您知道xy都是字符串,那么使用===并非绝对必要,但仍然是不错的做法。

假设两个变量实际上都是字符串,则两个运算符的功能相同。但是,TS通常允许您传递满足string所有要求的对象,而不是实际的字符串,这可能会使事情复杂化。

考虑到未来可能出现混淆或变化,你的短信可能在要求===时是正确的。就这样吧。

答案 1 :(得分:0)

由于组件html文件中的以下代码段,我只想提及我在typescript中使用以下语句时遇到的类似问题:

*ngIf="someType=='new'"

我将someType声明为

someType:'new'; (在typescript变量声明部分中)。

我将其更改为以下内容,它对我来说很好用:

someType : String;

使用构造函数分配默认值,如:

someType: 'new';

答案 2 :(得分:0)

使用下面的代码进行字符串比较

if(x === y) {

} else {

}

答案 3 :(得分:-4)

===不是用于检查字符串相等,为此你可以使用Regxp函数,例如

if (x.match(y) === null) {
// x and y are not equal 
}

还有test函数