typeof (myVariable)
とtypeof myVariable
の間に違いはありますか?
どちらも機能しますが、PHPを使用しているため、この関数で括弧を使用できるかどうかがわかりません。
typeof
キーワードは、Javascript
プログラミングの演算子を表します。
specification のtypeof
演算子の正しい定義は次のとおりです。
_typeof[(]expression[)] ;
_
これが、typeof
をtypeof(expression)
または_typeof expression
_として使用する理由です。
whyがそのように実装されているのは、おそらく開発者がコードの可視性のレベルを処理できるようにするためです。そのため、typeof:を使用してクリーンな条件ステートメントを使用することができます。
_if ( typeof myVar === 'undefined' )
// ...
;
_
または、 グループ化演算子 を使用してより複雑な式を定義します。
_const isTrue = (typeof (myVar = anotherVar) !== 'undefined') && (myVar === true);
_
編集:
場合によっては、typeof
演算子で括弧を使用すると、記述されたコードがあいまいになりにくくなります。
たとえば、typeof
演算子が括弧なしで使用されている次の式を考えてみます。 typeof
は、空の文字列リテラルと数値の間の連結の結果のタイプ、または文字列リテラルのタイプを返しますか?
_typeof "" + 42
_
上記の演算子の定義と 演算子typeof
と_+
_ の優先順位を見ると、前の式は次の式と同等であるように見えます。
_typeof("") + 42 // Returns the string `string42`
_
この場合、typeof
で括弧を使用すると、表現しようとしている内容がより明確になります。
_typeof("" + 42) // Returns the string `string`
_