Reputation: 6884
If I know x and y are both of type string, is the correct way to do string equality simply x == y?
The linter I'm using complains about this.
Upvotes: 113
Views: 275027
Reputation: 1
The ===
is not for checking string equalit , to do so you can use the Regxp functions for example
if (x.match(y) === null) {
// x and y are not equal
}
there is also the test
function
Upvotes: -23
Reputation: 48277
If you know x
and y
are both strings, using ===
is not strictly necessary, but is still good practice.
Assuming both variables actually are strings, both operators will function identically. However, TS often allows you to pass an object that meets all the requirements of string
rather than an actual string, which may complicate things.
Given the possibility of confusion or changes in the future, your linter is probably correct in demanding ===
. Just go with that.
Upvotes: 99