javascript - 为什么 TypeScript 将每个数字视为自己的类型?

标签 javascript typescript types

表达式 1==2 导致 TypeScript 给出错误 Operator '==' cannot be applied to types '1' and '2'。 TypeScript 将这些值视为不同类型的原因是什么?将其专门应用于数字是设计决定,还是整个打字系统的副产品?允许比较文字会造成什么危害?

最佳答案

12 在这种情况下被认为是所谓的文字数字。这意味着值 1 的类型为 1,因此只能是 1,与 2 相同。鉴于此,1==2 的表达式没有意义,因为 1 永远不可能是 2,或者更准确地说,它们的类型不匹配,你无法将苹果与橙子进行比较。

以下是有关默认假定文字类型的基本原理和详细信息:

关于文字类型:

关于文字类型为何有用的众多示例之一:

关于javascript - 为什么 TypeScript 将每个数字视为自己的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45980370/

相关文章:

javascript - 添加客户端时 jquery 链接不起作用

javascript - 如何解码这个javascript?

javascript - 在每第二个 <li> 之后添加 <ul></ul> 并使用 Angular ngRepeat

javascript - TypeScript Angular 2 响应订阅

sql-server - 如何获得带有括号和所有内容的 SQL Server 列定义?

javascript - 正则表达式,删除重复出现的字符但保留至少一个

javascript - 带有 ES3 输出的 Typescript ES7 描述符?

javascript - TypeScript 与 ES6 (ECMAScript 2015) 的兼容性如何(将如何)

pointers - 如何将类型存储为成员?

C# 泛型和类型检查