【问题标题】:StrictNullChecks vs Union Types via syntax通过语法的 StrictNullChecks 与联合类型
【发布时间】:2017-09-23 19:29:12
【问题描述】:

StrictNullChecks

最初,null 和 undefined 是 JavaScript 有效的一等公民。以前的 TypeScript 不遵守这一点,这意味着你不能定义一个变量并告诉 TypeScript 这个变量的值可以是 null 或 undefined。

语法

let y: number | null;
let z: number | undefined;

Union Types

联合类型与交集类型密切相关,但它们的使用方式却大不相同。有时,您会遇到一个要求参数是数字或字符串的库

语法:

function padLeft(value: string | number | boolean) {
// codings
   }

我的问题是:

  • 是否可以在Union Types 概念中使用StrictNullChecks 概念? 喜欢,

       function padLeft(value: string | undefined | number | undefined) { // coding's }
    

  • 是否可以在函数参数中使用strictnullcheck? 喜欢,

               function padLeft(value: string | undefined) { // coding's }
    

【问题讨论】:

    标签: javascript angularjs typescript types union-types


    【解决方案1】:

    有可能,只是string | undefined | number | undefined 有一个undefined 太多。

    【讨论】:

    • 哪一个是可能的?第一个问题或第二个问题。你能用代码分享更多细节吗?因为它应该帮助别人。
    • 除了我提到的例外,两者都是可能的。在第一种情况下,它应该是string | number | undefined,这意味着value 在调用padLeft 时可以是字符串、数字或未定义类型。在第二种情况下,它只能是字符串或未定义。如果您尝试使用任何其他类型(例如第二种情况下的数字)调用 padLeft,TypeScript 编译器会报错。
    • 您可以在答案中添加它。我将等待其他一些答案以了解更多详细信息
    猜你喜欢
    • 1970-01-01
    • 2020-10-03
    • 2017-12-03
    • 1970-01-01
    • 2020-01-14
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2022-12-18
    相关资源
    最近更新 更多