typeof (myVariable)
とtypeof myVariable
との間に違いはありますか?なぜ "typeof"にかっこは必要ないのですか?
どちらも機能しますが、PHPから来ていますが、なぜこの関数がかっこを使用できるかどうかわかりません。
typeof (myVariable)
とtypeof myVariable
との間に違いはありますか?なぜ "typeof"にかっこは必要ないのですか?
どちらも機能しますが、PHPから来ていますが、なぜこの関数がかっこを使用できるかどうかわかりません。
typeof
キーワードはオペレータを表し、Javascript
のプログラミングを表します。
specificationでtypeof
オペレータの正しい定義は次のとおり
typeof[(]expression[)] ;
これはtypeof(expression)
又はtypeof expression
としてtypeof
の使用の背後にある理由です。
なぜになっているのかは、おそらく開発者にコード内の可視性のレベルを処理させるためです。このように、typeofを使用してクリーンな条件文を使用することが可能である:
if (typeof myVar === 'undefined')
// ...
;
あるいは読みやすさのために()
を使用して、より複雑な式を記述:
var isTrue = (typeof (myVar = anotherVar) !== 'undefined') && (myVar === true));
はEDIT:
場合によっては、typeof
演算子でかっこを使用すると、記述されたコードのあいまいさが軽減されます。
たとえば、typeof
演算子がカッコなしで使用されている次の式を取ります。 typeof
は、空の文字列リテラルと数値の間の連結結果の型、または文字列リテラルの型を返しますか?
typeof "" + 42
上記で述べたオペレータとprecedence of the operators typeof
and +
の定義を見てみると、前の式と等価であることが表示されます:typeof
で括弧を使用することに多くの明快さをもたらすだろう、この場合、
typeof("") + 42 // Returns the string `string42`
あなたが表現しようとしているもの:
typeof("" + 42) // Returns the string `string`
これは機能ではありません。 –
追加するには、 '+'または '-'と似た演算子ですhttps://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/typeof –
' typeof'は演算子であるため、機能。 – jmoerdyk