JavaScript を学習しているときに、論理 AND && と論理 OR || という 2 つの演算子が変数の代入において非常に特殊であることがわかりました。これは、以前に慣れ親しんでいた PHP とは異なります。
1. 条件文
if 判定などの条件文は、and or と同じ理解であり、異論はありません。
(1) || When条件 いずれかの条件が true を満たす場合は、ステートメントの実行
(2)&& すべての条件が true を満たす必要がある場合は、ステートメントの実行
を入力します。 変数の割り当て
2.PHP:
$person = array();$param = $arr['name'] || 'Bom';var_dump($param); //true,在PHP中逻辑或仍然是条件判断性质,变量是一个布尔值var_dumo($param);//false , 在PHP中逻辑与也仍然是条件判断性质,变量是一个布尔值
JS の論理 AND または解釈は次のとおりです:
(1)|| 左が true の場合は左に戻り、そうでない場合は左に戻ることを意味します右
(2)&& 左が true を返した場合は右に戻り、それ以外の場合は左に戻る
の用途は何ですか?これにより、変数に値を割り当てるときに typeError 例外がスローされるのを防ぐことができます。また、次のような変数のデフォルト値として使用することもできます:
var person= {}; //空对象var undefinedRes = person.name;//undefined ,尝试检索一个不存在的成员元素,返回 undefinedvar typeErrorRes = person.name.age;//typeError ,尝试检索一个undefined值,会导致typeError异常var status = person.name || "Bom";//Bom,用||取默认值Bom。person.name返回false,所以取逻辑或右边的值var name = person.name && "Bom";//undefined,person.name返回false,所以取逻辑与左边的值