2016-08-28 13 views
0

パフォーマンスを基本的なログにする関数を作成しています。例えば、ボタンがクリックされると、この機能はボタンがクリックされたことを記録する。不正なパラメータで不正に渡された場合に関数から返されるものなので、デバッグに適しています。

var logClicks = function (buttonName) { 
    if (typeof buttonName === 'undefined' || buttonName === null) { 
    return false; 
    } 
    // Perform log function, code omitted. 
} 

私の質問は、私が持っているifチェックです。渡されたbuttonNameが有効であることを確認したいのですが、それはundefinedまたはnullではありません。このチェックは十分ですか?

return falseがこれを処理する正しい方法であるかどうかもわかりません。私はreturn falseか、またはreturnだけでしょうか?代わりに何か別のことをしますか?

純粋なフロントエンドの作業です。

+2

エラーをスローすることをお勧めします。 – Jite

+0

'buttonName'が文字列の型でない場合、チェックしないのはなぜですか? – Teemu

答えて

1

十分ですか?

はい。 (一部は読みにくく見つけるかもしれないが、他は異なる場合があります)

代替は

if (buttonName == null) 

ので、両方undefinednull== nullあるだろう、と他には何もありません。

返り値falseがこれを処理する正しい方法であるかどうかもわかりません。私は偽を返すべきか、ちょうど戻りますか?代わりに何か別のことをしますか?

これは、完全にあなたの責任で、この機能をどのように使用するかについてです。 Jite said in a commentとして、引数が無効な場合、エラーを投げることは意味をなさないでしょう:

if (/*...check...*/) { 
    throw new Error("'buttonName' cannot be undefined or null"); 
} 
関連する問題