2017-01-31 7 views
1

どのようにこのような関数を入力しますか?タイプスクリプトisNullOrUndefined

function isNullOrUndefined(obj: any) { 
    return typeof obj === "undefined" || obj === null; 
} 

返された場合、nullまたは未定義のままである可​​能性があります。 私はこの方法で使いたい:

答えて

2

が見つかりました!

function isNullOrUndefined<T>(obj: T | null | undefined): obj is null | undefined { 
    return typeof obj === "undefined" || obj === null; 
} 
+0

。 – CoderPi

+0

文字列を変換するために型ガードが必要でした。 null | undefined 'を' string 'に置き、安全に使用してください。 strictNullChecksフラグを参照してください:https://www.typescriptlang.org/docs/handbook/compiler-options.html –

0

あなたはoptional - ?:パラメータ宣言を使用してこの機能を簡素化するためにnullundefinedloose equality (coercion)を利用することができます:私はあなたが正確にここで行うことを試みたのか理解していない

function isNullOrUndefined<T>(obj?: T | null): boolean { 
    // null == undefined so this is true if obj = null or obj = undefined 
    return obj == null; 
} 
+1

タイプガードを定義するので、OPの答えははるかに優れています。 'boolean'を返すことは役に立たない。また、オプションのパラメータは質問とは関係ありません。 –

関連する問題