为什么Typescript在函数中允许null / undefined

时间:2019-10-24 09:46:19

标签: typescript

为什么打字稿允许在其中传递null / undefined

// "strictNullChecks": false
function someFun(param: (foo: any) => any) {}
someFun(null); // no error - incorrect
someFun(undefined); // no error - incorrect

1 个答案:

答案 0 :(得分:2)

引用docs

  

在严格的null检查模式下,null和undefined值不在每种类型的域中,并且只能分配给自己和任何(一个例外是undefined也可以分配给void)

     

.. T和T |在常规类型检查模式下,未定义被视为同义词(因为未定义被视为任何T的子类型),