ตัวดำเนินการ JavaScript อ้างอิง
ตัวดำเนินการ JavaScript ใช้เพื่อกำหนดค่า เปรียบเทียบค่า ดำเนินการคำนวณ และอื่นๆ
ตัวดำเนินการเลขคณิต JavaScript
ตัวดำเนินการเลขคณิตใช้เพื่อคำนวณระหว่างตัวแปรและ/หรือค่าต่างๆ
ระบุว่าy = 5ตารางด้านล่างอธิบายตัวดำเนินการเลขคณิต:
Operator | Description | Example | Result in y | Result in x | Try it |
---|---|---|---|---|---|
+ | Addition | x = y + 2 | y = 5 | x = 7 | |
- | Subtraction | x = y - 2 | y = 5 | x = 3 | |
* | Multiplication | x = y * 2 | y = 5 | x = 10 | |
/ | Division | x = y / 2 | y = 5 | x = 2.5 | |
% | Modulus (division remainder) | x = y % 2 | y = 5 | x = 1 | |
++ | Increment | x = ++y | y = 6 | x = 6 | |
x = y++ | y = 6 | x = 5 | |||
-- | Decrement | x = --y | y = 4 | x = 4 | |
x = y-- | y = 4 | x = 5 |
สำหรับบทช่วยสอนเกี่ยวกับตัวดำเนินการเลขคณิต โปรดอ่าน JavaScript Arithmetic Tutorialของเรา
ตัวดำเนินการมอบหมาย JavaScript
ตัวดำเนินการมอบหมายใช้เพื่อกำหนดค่าให้กับตัวแปร JavaScript
ระบุว่าx = 10และy = 5ตารางด้านล่างอธิบายตัวดำเนินการมอบหมาย:
Operator | Example | Same As | Result in x | Try it |
---|---|---|---|---|
= | x = y | x = y | x = 5 | |
+= | x += y | x = x + y | x = 15 | |
-= | x -= y | x = x - y | x = 5 | |
*= | x *= y | x = x * y | x = 50 | |
/= | x /= y | x = x / y | x = 2 | |
%= | x %= y | x = x % y | x = 0 |
สำหรับบทช่วยสอนเกี่ยวกับตัวดำเนินการมอบหมาย โปรดอ่าน บทแนะนำการกำหนด JavaScriptของ เรา
ตัวดำเนินการสตริง JavaScript
ตัวดำเนินการ + และตัวดำเนินการ += ยังสามารถใช้เพื่อเชื่อม (เพิ่ม) สตริงได้
เนื่องจากtext1 = "Good " , text2 = "Morning"และ text3 = ""ตารางด้านล่างจะอธิบายตัวดำเนินการ:
Operator | Example | text1 | text2 | text3 | Try it |
---|---|---|---|---|---|
+ | text3 = text1 + text2 | "Good " | "Morning" | "Good Morning" | |
+= | text1 += text2 | "Good Morning" | "Morning" | "" |
ตัวดำเนินการเปรียบเทียบ
ตัวดำเนินการเปรียบเทียบใช้ในคำสั่งเชิงตรรกะเพื่อกำหนดความเท่าเทียมกันหรือความแตกต่างระหว่างตัวแปรหรือค่า
ระบุว่าx = 5ตารางด้านล่างอธิบายตัวดำเนินการเปรียบเทียบ:
Operator | Description | Comparing | Returns | Try it |
---|---|---|---|---|
== | equal to | x == 8 | false | |
x == 5 | true | |||
=== | equal value and equal type | x === "5" | false | |
x === 5 | true | |||
!= | not equal | x != 8 | true | |
!== | not equal value or not equal type | x !== "5" | true | |
x !== 5 | false | |||
> | greater than | x > 8 | false | |
< | less than | x < 8 | true | |
>= | greater than or equal to | x >= 8 | false | |
<= | less than or equal to | x <= 8 | true |
สำหรับบทช่วยสอนเกี่ยวกับตัวดำเนินการเปรียบเทียบ โปรดอ่าน บทแนะนำการเปรียบเทียบ JavaScriptของ เรา
ตัวดำเนินการแบบมีเงื่อนไข (Ternary)
ตัวดำเนินการตามเงื่อนไขกำหนดค่าให้กับตัวแปรตามเงื่อนไข
Syntax | Example | Try it |
---|---|---|
variablename = (condition) ? value1:value2 | voteable = (age < 18) ? "Too young":"Old enough"; |
ตัวอย่างที่อธิบาย:หากตัวแปร "อายุ" เป็นค่าที่ต่ำกว่า 18 ค่าของตัวแปรที่ "โหวตได้" จะเป็น "เด็กเกินไป" มิฉะนั้น ค่าที่โหวตได้จะเป็น "เก่าเพียงพอ"
ตัวดำเนินการเชิงตรรกะ
ตัวดำเนินการทางลอจิกใช้เพื่อกำหนดตรรกะระหว่างตัวแปรหรือค่าต่างๆ
ระบุว่าx = 6 และ y = 3ตารางด้านล่างอธิบายตัวดำเนินการเชิงตรรกะ:
Operator | Description | Example | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | |
|| | or | (x === 5 || y === 5) is false | |
! | not | !(x === y) is true |
JavaScript ตัวดำเนินการ Bitwise
ตัวดำเนินการบิตทำงานกับตัวเลข 32 บิต ตัวถูกดำเนินการที่เป็นตัวเลขใดๆ ในการดำเนินการจะถูกแปลงเป็นตัวเลข 32 บิต ผลลัพธ์จะถูกแปลงกลับเป็นหมายเลข JavaScript
Operator | Description | Example | Same as | Result | Decimal |
---|---|---|---|---|---|
& | AND | x = 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | x = 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT | x = ~ 5 | ~0101 | 1010 | 10 |
^ | XOR | x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | Left shift | x = 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Right shift | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 |
ตัวอย่างข้างต้นใช้ตัวอย่างที่ไม่ได้ลงนาม 4 บิต แต่ JavaScript ใช้ตัวเลขที่มีลายเซ็นแบบ 32 บิต
ด้วยเหตุนี้ใน JavaScript ~ 5 จะไม่ส่งคืน 10 มันจะส่งคืน -6
~000000000000000000000000000000011 จะส่งกลับ 11111111111111111111111111111010
ประเภทของโอเปอเรเตอร์
ตัว ดำเนินการ typeofส่งคืนชนิดของตัวแปร วัตถุ ฟังก์ชัน หรือนิพจน์:
ตัวอย่าง
typeof "John"
// Returns string
typeof 3.14
// Returns number
typeof NaN
// Returns number
typeof false
// Returns boolean
typeof [1, 2, 3, 4] // Returns object
typeof {name:'John', age:34}
// Returns object
typeof new Date()
// Returns object
typeof function () {} // Returns function
typeof myCar
// Returns undefined (if myCar is not declared)
typeof null
// Returns object
โปรดสังเกต:
- ชนิดข้อมูลของ NaN คือ number
- ชนิดข้อมูลของอาร์เรย์คือ object
- ชนิดข้อมูลของวันที่เป็นวัตถุ
- ชนิดข้อมูลของ null คือ object
- ชนิดข้อมูลของตัวแปรที่ไม่ได้กำหนดคือ undefined
คุณไม่สามารถใช้typeofเพื่อกำหนดว่าวัตถุ JavaScript เป็นอาร์เรย์ (หรือวันที่)
ตัวดำเนินการลบ
ตัว ดำเนินการ ลบลบคุณสมบัติออกจากวัตถุ:
ตัวอย่าง
const person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
delete person.age; // or delete person["age"];
ตัวดำเนินการลบจะลบทั้งค่าของคุณสมบัติและคุณสมบัติเอง
หลังจากลบแล้ว จะไม่สามารถใช้คุณสมบัตินี้ก่อนที่จะเพิ่มกลับเข้าไปใหม่อีกครั้ง
ตัวดำเนินการลบถูกออกแบบมาเพื่อใช้กับคุณสมบัติของอ็อบเจ็กต์ ไม่มีผลกับตัวแปรหรือฟังก์ชัน
หมายเหตุ:ไม่ควรใช้ตัวดำเนินการลบกับคุณสมบัติของวัตถุ JavaScript ที่กำหนดไว้ล่วงหน้า อาจทำให้แอปพลิเคชันของคุณขัดข้อง
ใน Operator
ตัว ดำเนินการ inคืนค่า จริง หากคุณสมบัติที่ระบุอยู่ในอ็อบเจ็กต์ที่ระบุ มิฉะนั้น จะเป็นเท็จ:
ตัวอย่าง
// Arrays
const cars = ["Saab", "Volvo", "BMW"];
"Saab" in cars // Returns false (specify the index number instead of value)
0 in cars // Returns true
1 in cars // Returns true
4 in cars // Returns false (does not exist)
"length" in cars // Returns true (length is an Array property)
// Objects
const person = {firstName:"John", lastName:"Doe", age:50};
"firstName" in person // Returns true
"age" in person // Returns true
// Predefined objects
"PI" in Math // Returns true
"NaN" in Number // Returns true
"length" in String // Returns true
ตัวอย่างของ Operator
ตัว ดำเนินการ instanceofคืนค่า จริง หากอ็อบเจ็กต์ที่ระบุเป็นอินสแตนซ์ของอ็อบเจ็กต์ที่ระบุ:
ตัวอย่าง
const cars = ["Saab", "Volvo", "BMW"];
(cars instanceof Array) // Returns true
(cars instanceof Object) // Returns true
(cars instanceof String) // Returns false
(cars instanceof Number) // Returns false
โมฆะโอเปอเรเตอร์
โมฆะโอเปอเรเตอร์ประเมินนิพจน์และส่ง คืนundefined ตัวดำเนินการนี้มักใช้เพื่อให้ได้ค่าดั้งเดิมที่ไม่ได้กำหนด โดยใช้ "void(0)" (มีประโยชน์เมื่อประเมินนิพจน์โดยไม่ใช้ค่าที่ส่งกลับ)
ตัวอย่าง
<a href="#;">
Useless link
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
Click me to change the background color of body to red
</a>