2

typeof 演算子の結果をチェックする 2 つのバージョンの間に違い (コンパイラ/インタプリタ/juju など) はありますか?

最初のバージョンはコンセプトに沿っているかのように何度も目にするので質問していますが、バージョン 2 の方がはるかに読みやすく、私の意図をよりよく説明しています。何かと。

更新:元の質問の一部ではありませんが、等価性をチェックしようとしている場合、 x == y は決して良い習慣ではないことに注意してください。そのためには常に === 演算子を使用する必要があります。

4

2 に答える 2

4

アップデート

機能的には違いはありませんが、JavaScript ではどちらの方法でもエラーが発生するようです (これは JS のおかげです)。

Invalid left-hand side in assignment

したがって、他のプログラミング言語の開発者の単なる習慣のようです。たとえば、PHP の場合:

if ($var = 'foo') 

fooPHP は暗黙のうちに値として割り当てます$varが、次のようにします。

if ('foo' = $var) 

エラーがスローされます。


初版をよく見るので質問です

彼らが何をするかに違いはありません。ただし、次のように記述した場合、最初のバージョンではエラーがスローされます。

'value' = typeof X

または=の代わりに注意してください=====

これは一般的に良い習慣です。他の言語の人々は、JavaScript でもそのようにする習慣があります。

于 2012-07-06T09:56:36.200 に答える
0

等価演算はどちらの方法でも同じものを返すため、違いはありません。

于 2012-07-06T09:57:18.490 に答える