当我使用“==”判断字符串和数字之间的相等时,
const a = '1234';
const b = 1234;
// This condition will always return 'false' since the types 'string' and 'number' have no overlap.
const c = a == b;
类型记录显示一个错误:这个条件总是返回'false‘,因为类型'string’和'number‘没有重叠。
但是我们知道代码工作在javascript中;
那么,除了使用数字函数进行转换之外,还有什么方法可以消除错误吗?
发布于 2022-03-03 03:36:44
使用
)
来比较编译器已知的两个值,即
string
和
number
,总是会导致这个错误。您可以对其中一个值使用
类型断言
,也可以使用抽象来进行比较(如下面示例中的函数):
function areEqual (a: unknown, b: unknown): boolean {
return a == b;
const a = '1234';
const b = 1234;
let c: boolean;
c = a == b; /*
~~~~~~
This condition will always return 'false' since the types 'string' and 'number' have no overlap.(2367) */