だから私はあなたがいつも使うJSLint構文を知っています===
。PHPでは、私はいつもやってい==
ます。==
PHP では、「大まかに同じ」を===
意味し、「厳密に同じ」を意味することを理解しています。2 つの質問があります。
===
1) PHPで使用するのはベストプラクティスですか?(コードの一部を変更する必要があることはわかっています。)
2) Javascript の==
and===
は、PHP の場合と同じ違いを表していますか?
だから私はあなたがいつも使うJSLint構文を知っています===
。PHPでは、私はいつもやってい==
ます。==
PHP では、「大まかに同じ」を===
意味し、「厳密に同じ」を意味することを理解しています。2 つの質問があります。
===
1) PHPで使用するのはベストプラクティスですか?(コードの一部を変更する必要があることはわかっています。)
2) Javascript の==
and===
は、PHP の場合と同じ違いを表していますか?
PHP==
には、Javascript と比較してまったく新しい次元の WTF が含まれてい==
ます。たとえば、PHP では==
実際に数値の文字列を解析して比較します。たとえば、PHP"000" == "0"
ではtrue
. Javascriptではfalse
、文字列の等価性の合理的な定義により、明らかに2つの異なる文字列であるためです。
一般的なJavascript==
に関して言えば、仕様にある実際のルールを読めば、そのルールは驚くほど単純です (平均的なジョーは明らかに仕様を読まないので、私はまだそれを使用しません)。PHP では===
、仕様がないため、常に使用します。比較のアドホックな例にすぎません。たとえば、PHPソースコードの文字列解析について読む必要がありました。
PHP 文字列解析のもう 1 つの非常に興味深い効果は、==
文字列を機械整数に解析できない場合、文字列として比較されることです。したがって、PHP が 32 ビットまたは 64 ビットのどちらで実行されているかによって、同じ等価比較でも異なる結果が得られる可能性があります。楽しい時間。
PHP === では、値の型も確認したい場合に使用する必要があります。型が重要でない場合は、== のみを使用することをお勧めします。
はい==
、===
PHP と同じように JavaScript でも同じ意味を持ちます。
===
PHP でoverを使用することは必ずしもベスト プラクティスではありません==
が、いつ使用するかを考慮する必要があります===
。
例 1:
<?php
$str = 'abcde';
if (strstr($str, 'a') == false {
// This line will get printed as strstr() will return the position of a
// which is 0 and 0 == false but 0 !== false so === is needed
print 'a is not in the string';
}
?>
例 2:
<?php
$a = 1;
$b = '1';
$a == $b; //true
$a === $b //false