Các toán tử số học thể hiện các phép toán trên chữ số (các giá trị cố định hoặc các biến).
Toán tử | Mô tả |
---|---|
+ | Cộng |
- | Trừ |
* | Nhân |
** | Lũy thừa (ES2016) |
/ | Chia |
% | Chia lấy số dư |
++ | Tăng |
-- | Giảm |
Một toán tử số học điển hình hoạt động trên hai số.
Hai số có thể là số gốc:
var x = 100 + 50;
<!DOCTYPE html>
<html>
<body>
<p>A typical arithmetic operation takes two numbers and produces a new number.</p>
<p id="demo"></p>
<script>
var x = 100 + 50;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
Hoặc là hai biến:
var x = a + b;
<!DOCTYPE html>
<html>
<body>
<p>A typical arithmetic operation takes two numbers (or variables) and produces a new number.</p>
<p id="demo"></p>
<script>
var a = 100;
var b = 50;
var x = a + b;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
Hoặc là biểu thức:
var x = (100 + 50) * a;
<!DOCTYPE html>
<html>
<body>
<p>A typical arithmetic operation takes two numbers (or expressions) and produces a new number.</p>
<p id="demo"></p>
<script>
var a = 3;
var x = (100 + 50) * a;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
Các số (trong một phép toán) gọi là các toán hạng.
Sự tính toán (được thể hiện giữa hai toán hạng) được xác định bằng một toán tử.
Toán hạng | Toán tử | Toán hạng |
---|---|---|
100 | + | 50 |
Toán tử cộng (+
) cộng các chữ số:
var x = 5;
var y = 2;
var z = x + y;
<!DOCTYPE html>
<html>
<body>
<h2>The + Operator</h2>
<p id="demo"></p>
<script>
var x = 5;
var y = 2;
var z = x + y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Toán tử trừ (-
) trừ các chữ số.
var x = 5;
var y = 2;
var z = x - y;
<!DOCTYPE html>
<html>
<body>
<h2>The - Operator</h2>
<p id="demo"></p>
<script>
var x = 5;
var y = 2;
var z = x - y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Toán tử nhân (*
) nhân các chữ số:
var x = 5;
var y = 2;
var z = x * y;
<!DOCTYPE html>
<html>
<body>
<h2>The * Operator</h2>
<p id="demo"></p>
<script>
var x = 5;
var y = 2;
var z = x * y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Toán tử chia (/
) chia các chữ số:
var x = 5;
var y = 2;
var z = x / y;
<!DOCTYPE html>
<html>
<body>
<h2>The / Operator</h2>
<p id="demo"></p>
<script>
var x = 5;
var y = 2;
var z = x / y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Toán tử chia lấy dư (%
) trả về phần bị dư khi chia.
var x = 5;
var y = 2;
var z = x % y;
<!DOCTYPE html>
<html>
<body>
<h2>The % Operator</h2>
<p id="demo"></p>
<script>
var x = 5;
var y = 2;
var z = x % y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Tip: Trong số học, phép chia của hai số nguyên cho ra một thương và một số dư.
Trong lập trình, kết quả của toán tử lấy dư là phần dư của phép chia.
Toán tử tăng (++
) tăng các chữ số.
var x = 5;
x++;
var z = x;
<!DOCTYPE html>
<html>
<body>
<h2>The ++ Operator</h2>
<p id="demo"></p>
<script>
var x = 5;
x++;
var z = x;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Toán tử giảm (--
) giảm các chữ số.
var x = 5;
x--;
var z = x;
<!DOCTYPE html>
<html>
<body>
<h2>The -- Operator</h2>
<p id="demo"></p>
<script>
var x = 5;
x--;
var z = x;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Toán tử lũy thừa (**
) nhân lên toán hạng đầu tiên bằng giá trị toán hạng thứ hai.
var x = 5;
var z = x ** 2;
<!DOCTYPE html>
<html>
<body>
<h2>The ** Operator</h2>
<p id="demo"></p>
<script>
var x = 5;
document.getElementById("demo").innerHTML = x ** 2;
</script>
</body>
</html>
x ** y cho ra cùng một kết quả với Math.pow(x,y)
:
var x = 5;
var z = Math.pow(x,2); // result is 25
<!DOCTYPE html>
<html>
<body>
<h2>Math.pow()</h2>
<p id="demo"></p>
<script>
var x = 5;
document.getElementById("demo").innerHTML = Math.pow(x,2);
</script>
</body>
</html>
Sự ưu tiên các toán tử thể hiện thứ tự mỗi phép tính được thực hiện trong một biểu thức toán học.
var x = 100 + 50 * 3;
<!DOCTYPE html>
<html>
<body>
<p>Multiplication has precedence over addition.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 100 + 50 * 3;
</script>
</body>
</html>
Có phải kết quả của ví dụ trên giống với 150 * 3, hay nó giống với 100 + 150?
Có phải phép cộng hay phép nhân được hoàn thành trước?
Trong toán học truyền thống, phép nhân được tính trước.
Sự nhân (*
) và chia (/
) có thứ tự ưu tiên cao hơn là cộng (+
) và trừ (-
).
Và (như trong toán học) sự ưu tiên có thể được thay đổi bằng việc dùng ngoặc đơn.
var x = (100 + 50) * 3;
<!DOCTYPE html>
<html>
<body>
<p>Multiplication has precedence over addition.</p>
<p>But parenthesis has precedence over multiplication.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = (100 + 50) * 3;
</script>
</body>
</html>
Khi sử dụng dấu ngoặc đơn, các toán tử bên trong dấu ngoặc đơn được tính toán trước.
Khi có nhiều toán tử có cùng một mức độ ưu tiên(như cộng và trừ), chúng được tính toán từ trái sang phải.
var x = 100 + 50 - 3;
<!DOCTYPE html>
<html>
<body>
<p>When many operations has the same precedence, they are computed from left to right.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 100 + 50 - 3;
</script>
</body>
</html>
Tip: Các mục màu đỏ nhạt cho biết ECMAScript 2015(ES6) hoặc cao hơn.
Giá trị | Toán tử | Mô tả | Ví dụ |
---|---|---|---|
20 | ( ) | Nhóm biểu thức | (3 + 4) |
19 | . | Thành viên | person.name |
19 | [] | Thành viên | person["name"] |
19 | () | Gọi hàm | myFunction() |
19 | new | Ta | new Date() |
17 | ++ | Tăng tiền tố | i++ |
17 | -- | Giảm tiền tố | i-- |
16 | ++ | Tiền tố tăng | ++i |
16 | -- | Tiền tố giảm | --i |
16 | ! | Logic phủ định | !(x==y) |
16 | typeof | Kiểu | typeof x |
15 | ** | Lũy thừa (ES2016) | 10 ** 2 |
14 | * | Nhân | 10 * 5 |
14 | / | Chia | 10 / 5 |
14 | % | Chia lấy dư | 10 % 5 |
13 | + | Cộng | 10 + 5 |
13 | - | Trừ | 10 - 5 |
12 | << | Dịch sang trái | x << 2 |
12 | >> | Dịch sang phải | x >> 2 |
12 | >>> | Dịch sang phải (không dấu) | x >>> 2 |
11 | < | Bé hơn | x < y |
11 | <= | Bé hơn hoặc bằng | x <= y |
11 | > | Lớn hơn | x > y |
11 | >= | Lớn hơn hoặc bằng | x >= y |
11 | in | Property trong Object | "PI" in Math |
11 | instanceof | Instance cua Object | instanceof Array |
10 | == | Bằng | x == y |
10 | === | Bằng chặt chẽ | x === y |
10 | != | Không bằng | x != y |
10 | !== | Không bằng chặt chẽ | x !== y |
9 | & | Bitwise AND | x & y |
8 | ^ | Bitwise XOR | x ^ y |
7 | | | Bitwise OR | x | y |
6 | && | Logical AND | x && y |
5 | || | Logical OR | x || y |
4 | ? : | Điều kiện | ? "Yes" : "No" |
3 | += | Gán | x += y |
3 | /= | Gán | x /= y |
3 | -= | Gán | x -= y |
3 | *= | Gán | x *= y |
3 | %= | Gán | x %= y |
3 | <<= | Gán | x <<= y |
3 | >>= | Gán | x >>= y |
3 | >>>= | Gán | x >>>= y |
3 | &= | Gán | x &= y |
3 | ^= | Gán | x ^= y |
3 | |= | Gán | x |= y |
2 | yield | Dừng hàm | yield x |
1 | , | Phẩy | 5 , 6 |
Ứng Dụng Học
Theo dõi cập nhật nội dung học trên Youtube & Facebook
Thông Tin Liên Hệ
Công Ty Cổ Phần Phát Triển Công Nghệ Gozic.
Website: https://gozic.vn
SĐT: 096 - 70 25 996
Email: ziczacgroup@gmail.com
Thiết kế webiste chuyên nghiệp
Thiết kế phần mềm quản trị
Thiết kế ứng dụng Android
Thiết kế ứng dụng IOS
Thiết kế Web App
Hỗ trợ Digital Marketing
Hỗ trợ quảng cáo Google Ads
Hỗ trợ quảng cáo Facebook Ads
Hỗ trợ SEO Website