如果我知道x和y都是字符串类型,那么只是x == y的字符串相等的正确方法吗?
我正在使用的linter抱怨这个。
答案 0 :(得分:32)
如果您知道x
和y
都是字符串,那么使用===
并非绝对必要,但仍然是不错的做法。
假设两个变量实际上都是字符串,则两个运算符的功能相同。但是,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
函数