Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过语法检查与联合类型_Javascript_Angularjs_Typescript_Types_Union Types - Fatal编程技术网

Javascript 通过语法检查与联合类型

Javascript 通过语法检查与联合类型,javascript,angularjs,typescript,types,union-types,Javascript,Angularjs,Typescript,Types,Union Types,最初,null和undefined是JavaScript有效的第一类类型公民。以前的TypeScript没有遵守这一点,这意味着您不能定义一个变量并告诉TypeScript这个变量的值可以为null或未定义 语法 let y: number | null; let z: number | undefined; 联合类型与交叉点类型密切相关,但它们的使用方式非常不同。有时,您会遇到一个库,该库要求参数为数字或字符串 语法: function padLeft(value: string | num

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

语法

let y: number | null;
let z: number | undefined;
联合类型与交叉点类型密切相关,但它们的使用方式非常不同。有时,您会遇到一个库,该库要求参数为数字或字符串

语法:

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

我的问题是:

  • 是否可以在
    联合类型
    概念中使用
    概念?
    像

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

  • 是否可以在函数参数中使用
    stricnullcheck
    ? 像


  • 有可能,除了
    字符串|未定义|数字|未定义
    有一个
    未定义
    太多。

    有可能,除了
    字符串|未定义|数字|未定义
    有一个
    未定义
    太多。

    哪一个是可能的?第一个问题或第二个问题。你能和代码分享更多细节吗?因为它应该是帮助别人的。除了我提到的例外,这两种方法都是可能的。在第一种情况下,它应该是
    string | number | undefined
    ,这意味着调用padLeft时
    value
    可以是string、number或undefined类型。在第二种情况下,它只能是字符串或未定义。如果您试图使用任何其他类型(如第二种情况中的数字)调用padLeft,TypeScript编译器将发出投诉。您可以将其添加到答案中。我将等待更多细节的其他答案,其中一个是可能的?第一个问题或第二个问题。你能和代码分享更多细节吗?因为它应该是帮助别人的。除了我提到的例外,这两种方法都是可能的。在第一种情况下,它应该是
    string | number | undefined
    ,这意味着调用padLeft时
    value
    可以是string、number或undefined类型。在第二种情况下,它只能是字符串或未定义。如果您试图使用任何其他类型(如第二种情况中的数字)调用padLeft,TypeScript编译器将发出投诉。您可以将其添加到答案中。我将等待更多细节的其他答案
               function padLeft(value: string | undefined) { // coding's }