在 TypeScript 中检查两个字符串是否相等
Check if two Strings are Equal in TypeScript
在 TypeScript 中使用严格相等运算符 (===) 检查两个字符串是否相等,例如if (str1 === str2) {}
. true
如果字符串相等,则严格相等运算符返回
,否则false
返回。
索引.ts
const str1 = 'hello'; const str2 = 'hello'; if (str1 === str2) { console.log('✅ strings are equal'); } else { console.log('⛔️ strings are NOT equal'); }
我们使用
严格相等 (===)
运算符来检查两个 TypeScript 字符串是否相等。
运算符返回布尔结果:
true
如果值相等false
如果值不相等
使用严格相等 (===) 运算符比较字符串时,比较区分大小写。
索引.ts
const str1 = 'hello'; const str2 = 'HELLO'; if (str1 === str2) { console.log('✅ strings are equal'); } else { // 👇️ this runs console.log('⛔️ strings are NOT equal'); }
如果需要进行不区分大小写的比较,请toLowercase()
在两个字符串上使用该方法。
索引.ts
const str1 = 'hello'; const str2 = 'HELLO'; if (str1.toLowerCase() === str2.toLowerCase()) { // 👇️ this runs console.log('✅ strings are equal'); } else { console.log('⛔️ strings are NOT equal'); }
如果您需要检查两个字符串是否不相等,请使用严格的不等式 (!==) 运算符。
索引.ts
const str1 = 'hello'; const str2 = 'world'; if (str1 !== str2) { console.log('✅ strings are equal'); } else { console.log('⛔️ strings are NOT equal'); }
true
如果值不相等,则严格不等式 (!==) 运算符返回,false
否则返回。
严格相等 (===) 运算符与
松散相等 (==)
运算符的不同之处在于,它认为不同类型的两个值不相等。
索引.ts
const str = '100'; const num = 100; // ⛔️ Error: This condition will always return 'false' // since the types 'number' and 'string' have no overlap.ts(2367) if (str == num) { console.log('✅ strings are equal'); } else { console.log('⛔️ strings are NOT equal'); }
上面的示例使用松散相等运算符来检查数字100
是否等于字符串'100'
。
如果在 JavaScript 中运行,这将评估为true
,但在 TypeScript 中,类型检查器会抛出错误。
始终使用严格相等 (===) 运算符并坚持比较相同类型的值要直观得多。
严格相等 (===) 运算符将不同类型的两个值视为不同,这与松散相等 (==) 运算符相反。
这意味着在使用严格相等运算符时,不同类型的两个值永远不会相等。
始终建议使用严格运算符(!==、===),因为它们不会在比较值之前尝试将值强制转换为同一类型并返回更直观且更易于阅读的结果。