js運算符的優先級問題

舉例說明問題:

描述場景: 有兩個變量arg1 ,arg2,只要其中一個爲true,就輸出‘yes’

let arg1 = true;
let arg2 = false;
console.log(arg1 === true || arg2 === true && 'yes')
// 結果輸出 true  原因是:&& 符號的優先級高於 || 符號

正確寫法

let arg1 = true;
let arg2 = false;
console.log((arg1 === true || arg2 === true) && 'yes')
// 結果輸出 'yes' 原因是: ()優先級高於 && 符號

再來 練練手 先別看答案哦

console.log(4 >= 6 || '人' != '阿凡達' && !(12 * 2 == 144) && true)
        var num = 10;
        console.log(5 == num / 2 && (2 + 2 * num).toString() === '22');
        console.log('-------------------');
        var a = 3 > 5 && 2 < 7 && 3 == 4;
        console.log(a);

        var b = 3 <= 4 || 3 > 1 || 3 != 2;
        console.log(b);

        var c = 2 === "2";
        console.log(c);

        var d = !c || b && a;
        console.log(d);

公佈答案
在這裏插入圖片描述

在這裏插入圖片描述

想看更具體的 看MDN文檔吧

MDN文檔對於優先級的講解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章