JavaScript ลำดับความสำคัญของการคำนวณ
- หน้าก่อน JS แบบแฟรมแวร์
- หน้าต่อไป JS ข้อผิดพลาด
運算子優先順位(Operator Precedence)描述了算術表達式中運算的執行順序。
乘法 (*) 和除法 (/) 的優先順位高於加法 (+) 和減法 (-)。
實例
與傳統數學一樣,先進行乘法運算:
let x = 100 + 50 * 3;
使用圓括號時,先計算圓括號內的運算:
let x = (100 + 50) * 3;
優先順位相同的運算(如 * 和 /)從左到右計算:
let x = 100 / 50 * 3;
運算子優先順位值
括號中的表達式在表達式的其餘部分之前計算,函數在結果用於表達式的其餘部分之前執行:
優先順位 | 運算子 | 描述 | 例子 |
---|---|---|---|
18 | ( ) | 表达式分组 | (100 + 50) * 3 |
17 | . | เป็นสมาชิก | person.name |
17 | [] | เป็นสมาชิก | person["name"] |
17 | ?. | เลือกค่าแทนค่าว่าง ES2020 | x ?. y |
17 | () | การเรียกฟังก์ชัน | myFunction() |
17 | new | สร้างแบบมีตัวเรียก | new Date("June 5,2022") |
16 | new | สร้างแบบไม่มีตัวเรียก | new Date() |
สัญญาณปริมาณเพิ่มหลังมีล่วงหน้า |
|||
15 | ++ | เพิ่มหลัง | i++ |
15 | -- | ลดลงหลัง | i-- |
14 | ++ | เพิ่มล่วงหน้า | ++i |
14 | -- | ลดลงล่วงหน้า | --i |
สัญญาณ NOT |
|||
14 | ! | ไม่มีสัญญาณ | !(x==y) |
14 | ~ | ไม่มีสัญญาณตามบิต | ~x |
สัญญาณปฏิบัติการเดียว |
|||
14 | + | เพิ่มเดียว | +x |
14 | - | ลบเดียว | -x |
14 | typeof | ประเภทของข้อมูล | typeof x |
14 | void | ประเมินค่าว่าง | void(0) |
14 | delete | ลบคุณสมบัติ | delete myCar.color |
สัญญาณปฏิบัติการคณิตศาสตร์ปฏิบัติการคูณขึ้นก่อนปฏิบัติการคูณทางเลข ปฏิบัติการคูณและแบ่งขึ้นก่อนปฏิบัติการเพิ่มและลบ |
|||
13 | ** | ปฏิบัติการคูณทางเลข ES2016 | 10 ** 2 |
12 | * | คูณ | 10 * 5 |
12 | / | แบ่ง | 10 / 5 |
12 | % | คะแนนเหลือหลังการแบ่ง | 10 % 5 |
11 | + | เพิ่ม | 10 + 5 |
11 | - | ลบ | 10 - 5 |
11 | + | ต่อเนื่อง | "Bill" + "Gates" |
สัญญาณปฏิบัติการย้าย |
|||
10 | << | ย้ายขึ้นขวา | x << 2 |
10 | >> | ย้ายขึ้นซ้าย (มีสัญญาณ) | x >> 2 |
10 | >>> | ย้ายขึ้นซ้าย (ไม่มีสัญญาณ) | x >>> 2 |
สัญญาณปฏิบัติการสัมพันธ์ |
|||
9 | in | คุณสมบัติในวัตถุ | "PI" in Math |
9 | instanceof | ตัวแปรของวัตถุ | x instanceof Array |
สัญญาณปฏิบัติการเปรียบเทียบ |
|||
9 | < | เล็กกว่า | x < y |
9 | <= | เล็กกว่าหรือเท่า | x <= y |
9 | > | ใหญ่กว่า | x > y |
9 | >= | ใหญ่กว่าหรือเท่า | x >= Array |
8 | == | เท่า | x == y |
8 | === | เท่ากันอย่างเฉพาะ | x === y |
8 | != | ไม่เท่ากัน | x != y |
8 | !== | ไม่เท่ากันอย่างเฉพาะ | x !== y |
สัญญาณปฏิบัติการตำแหน่ง |
|||
7 | & | บวกเลขตามบิต | x & y |
6 | ^ | บวกเลขตามบิตแตกต่าง | x ^ y |
5 | | | บวกเลขตามบิต | x | y |
สัญญาณปฏิบัติการทางวิทยาศาสตร์ |
|||
4 | && | บวกเลขและ | x && y |
3 | || | บวกเลขหรือ | x || y |
3 | ?? | เลือกค่าแทนค่าว่าง ES2020 | x ?? y |
เงื่อนไข (เทรนิเมอร์) |
|||
2 | ? : | เงื่อนไข | ? "yes" : "no" |
ประกาศกำหนดการกำหนดปฏิบัติการเกิดขึ้นหลังจากปฏิบัติการอื่น |
|||
2 | = | การกำหนดเรียบร้อย | x = y |
2 | : | การกำหนดข้อความ | x: 5 |
2 | += | การกำหนดการเพิ่ม | x += y |
2 | -= | การกำหนดการหลั่ง | x -= y |
2 | *= | การกำหนดการคูณ | x *= y |
2 | **= | การกำหนดพิมพ์ | x **= y |
2 | /= | การกำหนดการหาร | x /= y |
2 | %= | การกำหนดการหารเศษ | x %= y |
2 | <<= | การกำหนดการเลื่อนซ้ายเศษ | x <<= y |
2 | >>= | การกำหนดการเลื่อนขวางเศษ | x >>= y |
2 | >>>= | การเลื่อนขวางเศษ | x >>>= y |
2 | &= | การกำหนดเชิงตรรกษศาสตร์บิท | x &= y |
2 | |= | การกำหนดเชิงตรรกษศาสตร์บิท | x |= y |
2 | ^= | การกำหนดเชิงตรรกษศาสตร์บิท | x ^= y |
2 | &&= | การกำหนดเชิงตรรกษศาสตร์ | x &= y |
2 | ||= | การกำหนดบวกเพิ่มเติมเชิงตรรกษศาสตร์ | x ||= y |
2 | => | เหลี่ยม | x => y |
2 | yield | หยุด / กลับมาทำงาน | yield x |
2 | yield* | การกำหนดยอดท้าย | yield* x |
2 | ... | การแยกย่องทวน | ... x |
1 | , | เครื่องหมายคำนำ | x , y |
- หน้าก่อน JS แบบแฟรมแวร์
- หน้าต่อไป JS ข้อผิดพลาด