Hướng dẫn what are the arithmetic operators in javascript? - toán tử số học trong javascript là gì?


Các toán tử số học JavaScript

Các toán tử số học thực hiện số học trên các số (nghĩa đen hoặc biến).

Nhà điều hànhSự mô tả
+Phép cộng
-Phép trừ
*Phép nhân
**Số mũ (ES2016)
/Phân công
Phần trămMô đun (phần còn lại)
++Tăng
-Giảm dần

Các phép tính toán học

Một hoạt động số học điển hình hoạt động trên hai số.

Hai con số có thể là chữ:

hoặc các biến:

hoặc biểu thức:


Toán tử và toán hạng

Các số (trong một hoạt động số học) được gọi là toán hạng.operands.

Hoạt động (được thực hiện giữa hai toán hạng) được xác định bởi một toán tử.operator.

ThoạiNhà điều hànhThoại
100 +50


Phép cộng

-addition operator (

typeof myInt;
typeof myFloat;
2) adds numbers:


Phép trừ

*subtraction operator (

typeof myInt;
typeof myFloat;
3) subtracts numbers.


Phép nhân

**multiplication operator (

typeof myInt;
typeof myFloat;
4) multiplies numbers.


Số mũ (ES2016)

/division operator (

typeof myInt;
typeof myFloat;
5) divides numbers.


Phân công

Phần trămmodulus operator (

typeof myInt;
typeof myFloat;
6) returns the division remainder.

Mô đun (phần còn lại)quotient and a remainder.

++modulo operation is the remainder of an arithmetic division.


Tăng

-increment operator (

typeof myInt;
typeof myFloat;
7) increments numbers.


Giảm dần

Các phép tính toán họcdecrement operator (

typeof myInt;
typeof myFloat;
8) decrements numbers.


Một hoạt động số học điển hình hoạt động trên hai số.

Hai con số có thể là chữ:exponentiation operator (

typeof myInt;
typeof myFloat;
9) raises the first operand to the power of the second operand.

hoặc các biến:


hoặc biểu thức:

Toán tử và toán hạng

Các số (trong một hoạt động số học) được gọi là toán hạng.

Hoạt động (được thực hiện giữa hai toán hạng) được xác định bởi một toán tử.

Thoại

Thêmprecedence than addition (

typeof myInt;
typeof myFloat;
2) and subtraction (
typeof myInt;
typeof myFloat;
3).

Toán tử bổ sung (

typeof myInt;
typeof myFloat;
2) thêm số:

Trừ đi

Toán tử trừ (

typeof myInt;
typeof myFloat;
3) trừ các số.


Nhân



  • Trước
  • Tổng quan: Các bước đầu tiên
  • Tiếp theo

Trong mô -đun này

5 toán tử số học là gì?

Các toán tử này là + (bổ sung), - (phép trừ), * (phép nhân), / (chia) và % (modulo).

7 toán tử số học là gì?

Các toán tử số học được sử dụng để thực hiện các hoạt động toán học như bổ sung, trừ, nhân và chia ..

Phân chia sàn ..

  • 4 loại toán tử JavaScript là gì? are floating-point numbers without a fraction. They can either be positive or negative, e.g. 10, 400, or -5.
  • Có nhiều loại toán tử JavaScript khác nhau:. (floats) have decimal points and decimal places, for example 12.5, and 56.7786543.
  • Toán tử số học .. are a specific type of floating point number that have greater precision than standard floating point numbers (meaning that they are accurate to a greater number of decimal places).

Người vận hành chuyển nhượng ..

  • Toán tử so sánh.. — The lowest level language of computers; 0s and 1s.
  • Toán tử logic .. — Base 8, uses 0–7 in each column.
  • Người vận hành có điều kiện .. — Base 16, uses 0–9 and then a–f in each column. You may have encountered these numbers before when setting colors in CSS.

Loại người vận hành .. For a start, we are just going to stick to decimal numbers throughout this course; you'll rarely come across a need to start thinking about other types, if ever.

Điều nào sau đây là toán tử số học trong JavaScript?

Các toán tử số học JavaScript. Actually, JavaScript has a second number type, BigInt, used for very, very large integers. But for the purposes of this course, we'll just worry about

const lotsOfDecimal = 1.766584958675746364;
lotsOfDecimal;
const twoDecimalPlaces = lotsOfDecimal.toFixed(2);
twoDecimalPlaces;
5 values.

Trước

Tại thời điểm này trong khóa học, chúng tôi thảo luận về toán học trong JavaScript - cách chúng tôi có thể sử dụng các nhà khai thác và các tính năng khác để thao tác thành công các số để thực hiện đấu thầu của chúng tôi.

  1. Mọi người đều thích toán học

    const myInt = 5;
    const myFloat = 6.667;
    myInt;
    myFloat;
    

  2. Được rồi, có lẽ không. Một số người trong chúng ta thích toán học, một số người trong chúng ta đã ghét toán kể từ khi chúng ta phải học các bảng nhân và phân chia dài ở trường, và một số người trong chúng ta ngồi ở đâu đó ở giữa hai người. Nhưng không ai trong chúng ta có thể phủ nhận rằng toán học là một phần cơ bản của cuộc sống mà chúng ta không thể đi được rất xa mà không có. Điều này đặc biệt đúng khi chúng ta đang học lập trình JavaScript (hoặc bất kỳ ngôn ngữ nào khác cho vấn đề đó) - rất nhiều những gì chúng ta làm phụ thuộc vào việc xử lý dữ liệu số, tính toán các giá trị mới, v.v. JavaScript có sẵn một bộ chức năng toán học đầy đủ tính năng.
  3. Bài viết này chỉ thảo luận về những phần cơ bản mà bạn cần biết bây giờ.

    Các loại số

    Trong lập trình, ngay cả hệ thống số thập phân khiêm tốn mà tất cả chúng ta đều biết rất phức tạp hơn bạn nghĩ. Chúng tôi sử dụng các thuật ngữ khác nhau để mô tả các loại số thập phân khác nhau, ví dụ:

Số nguyên là số điểm nổi mà không có một phần. Họ có thể là tích cực hoặc tiêu cực, ví dụ: 10, 400 hoặc -5.

Số điểm nổi (phao) có điểm thập phân và vị trí thập phân, ví dụ 12,5 và 56.7786543.

Ví dụ: để làm tròn số của bạn vào một số vị trí thập phân cố định, hãy sử dụng phương thức

let myNumber = "74";
myNumber += 3;
0. Nhập các dòng sau vào bảng điều khiển của trình duyệt của bạn:

const lotsOfDecimal = 1.766584958675746364;
lotsOfDecimal;
const twoDecimalPlaces = lotsOfDecimal.toFixed(2);
twoDecimalPlaces;

Chuyển đổi thành các loại dữ liệu số

Đôi khi bạn có thể kết thúc với một số được lưu trữ dưới dạng một loại chuỗi, điều này gây khó khăn cho việc thực hiện các tính toán với nó. Điều này phổ biến nhất xảy ra khi dữ liệu được nhập vào đầu vào biểu mẫu và loại đầu vào là văn bản. Có một cách để giải quyết vấn đề này - chuyển giá trị chuỗi vào hàm tạo

let myNumber = "74";
myNumber += 3;
1 để trả về một phiên bản số của cùng một giá trị.

Ví dụ: hãy thử gõ các dòng này vào bảng điều khiển của bạn:

let myNumber = "74";
myNumber += 3;

Bạn kết thúc với kết quả 743, không phải 77, vì

let myNumber = "74";
myNumber += 3;
2 thực sự được định nghĩa là một chuỗi. Bạn có thể kiểm tra điều này bằng cách gõ vào sau:

Để sửa chữa tính toán, bạn có thể làm điều này:

let myNumber = "74";
myNumber = Number(myNumber) + 3;

Kết quả sau đó là 77, như dự kiến ​​ban đầu.

Toán tử số học

Các toán tử số học là các toán tử cơ bản mà chúng tôi sử dụng để thực hiện các khoản tiền trong JavaScript:

Lưu ý: Đôi khi bạn sẽ thấy các số liên quan đến số học được gọi là toán hạng. You'll sometimes see numbers involved in arithmetic referred to as operands.

Lưu ý: Đôi khi bạn có thể thấy các số mũ được thể hiện bằng phương pháp

let myNumber = "74";
myNumber += 3;
3 cũ hơn, hoạt động theo một cách rất giống nhau. Ví dụ, trong
let myNumber = "74";
myNumber += 3;
4,
let myNumber = "74";
myNumber += 3;
5 là cơ sở và
let myNumber = "74";
myNumber += 3;
6 là số mũ, do đó, kết quả của biểu thức là
let myNumber = "74";
myNumber += 3;
7.
let myNumber = "74";
myNumber += 3;
4 tương đương với
let myNumber = "74";
myNumber += 3;
9.
You may sometimes see exponents expressed using the older
let myNumber = "74";
myNumber += 3;
3 method, which works in a very similar way. For example, in
let myNumber = "74";
myNumber += 3;
4,
let myNumber = "74";
myNumber += 3;
5 is the base and
let myNumber = "74";
myNumber += 3;
6 is the exponent, so the result of the expression is
let myNumber = "74";
myNumber += 3;
7.
let myNumber = "74";
myNumber += 3;
4 is equivalent to
let myNumber = "74";
myNumber += 3;
9.

Có lẽ chúng tôi không cần phải dạy bạn cách làm toán cơ bản, nhưng chúng tôi muốn kiểm tra sự hiểu biết của bạn về cú pháp liên quan. Hãy thử nhập các ví dụ dưới đây vào bảng điều khiển JavaScript của nhà phát triển để làm quen với cú pháp.

  1. Đầu tiên hãy thử nhập một số ví dụ đơn giản của riêng bạn, chẳng hạn như
  2. Bạn cũng có thể thử khai báo và khởi tạo một số số bên trong các biến và thử sử dụng các số đó trong các tổng - các biến sẽ hoạt động chính xác giống như các giá trị mà chúng giữ cho mục đích của tổng. Ví dụ:

    const num1 = 10;
    const num2 = 50;
    9 * num1;
    num1 ** 3;
    num2 / num1;
    

  3. Cuối cùng cho phần này, hãy thử nhập một số biểu thức phức tạp hơn, chẳng hạn như:

    5 + 10 * 3;
    (num2 % 9) * num1;
    num2 + num1 / 8 + 2;
    

Các phần của bộ tính toán cuối cùng này có thể không cung cấp cho bạn khá nhiều kết quả mà bạn đang mong đợi; Phần dưới đây cũng có thể đưa ra câu trả lời về lý do tại sao.

Ưu tiên điều hành

Chúng ta hãy xem xét ví dụ cuối cùng từ trên cao, giả sử rằng

let myNumber = "74";
myNumber = Number(myNumber) + 3;
0 giữ giá trị 50 và
let myNumber = "74";
myNumber = Number(myNumber) + 3;
1 giữ giá trị 10 (như đã nêu ban đầu ở trên):

Là một con người, bạn có thể đọc điều này là "50 cộng 10 bằng 60", sau đó "8 cộng 2 bằng 10" và cuối cùng "60 chia cho 10 bằng 6".

Nhưng trình duyệt thực hiện "10 chia cho 8 bằng 1,25", sau đó "50 cộng 1,25 cộng với 2 bằng 53,25".

Điều này là do sự ưu tiên của toán tử - một số toán tử được áp dụng trước những người khác khi tính toán kết quả của tính toán (được gọi là một biểu thức, trong lập trình). Ưu tiên của nhà điều hành trong JavaScript giống như được dạy trong các lớp toán học ở trường - nhân và chia luôn được thực hiện trước tiên, sau đó thêm và trừ (tính toán luôn được đánh giá từ trái sang phải).operator precedence — some operators are applied before others when calculating the result of a calculation (referred to as an expression, in programming). Operator precedence in JavaScript is the same as is taught in math classes in school — multiply and divide are always done first, then add and subtract (the calculation is always evaluated from left to right).

Nếu bạn muốn ghi đè ưu tiên toán tử, bạn có thể đặt dấu ngoặc đơn xung quanh các phần mà bạn muốn được xử lý rõ ràng trước. Vì vậy, để có được kết quả là 6, chúng ta có thể làm điều này:

Hãy thử nó và xem.

Lưu ý: Một danh sách đầy đủ của tất cả các toán tử JavaScript và ưu tiên của chúng có thể được tìm thấy trong ưu tiên của nhà điều hành. A full list of all JavaScript operators and their precedence can be found in Operator precedence.

Các toán tử tăng và giảm

Đôi khi bạn sẽ muốn liên tục thêm hoặc trừ một đến hoặc từ một giá trị biến số. Điều này có thể được thực hiện thuận tiện bằng cách sử dụng các toán tử tăng (

typeof myInt;
typeof myFloat;
7) và giảm (
typeof myInt;
typeof myFloat;
8). Chúng tôi đã sử dụng
typeof myInt;
typeof myFloat;
7 trong trò chơi "Đoán số" của chúng tôi trong bài viết đầu tiên của chúng tôi vào bài viết JavaScript, khi chúng tôi thêm 1 vào biến
let myNumber = "74";
myNumber = Number(myNumber) + 3;
5 của chúng tôi để theo dõi số lượng người dùng đã để lại sau mỗi lượt.

Hãy thử chơi với những thứ này trong bảng điều khiển của bạn. Để bắt đầu, lưu ý rằng bạn không thể áp dụng chúng trực tiếp vào một số, điều này có vẻ lạ, nhưng chúng tôi đang gán một biến một giá trị cập nhật mới, không hoạt động trên chính giá trị. Điều sau đây sẽ trả về một lỗi:

Vì vậy, bạn chỉ có thể tăng một biến hiện có. Thử cái này:

Được rồi, số 2 kỳ lạ! Khi bạn làm điều này, bạn sẽ thấy giá trị 4 được trả về - điều này là do trình duyệt trả về giá trị hiện tại, sau đó tăng biến. Bạn có thể thấy rằng nó đã được tăng lên nếu bạn trả về giá trị biến một lần nữa:

Điều tương tự cũng đúng với

typeof myInt;
typeof myFloat;
8: Hãy thử những điều sau

let num2 = 6;
num2--;
num2;

Lưu ý: Bạn có thể làm cho trình duyệt thực hiện theo cách khác - tăng/giảm biến sau đó trả về giá trị - bằng cách đặt toán tử khi bắt đầu biến thay vì kết thúc. Hãy thử lại các ví dụ trên, nhưng lần này sử dụng

let myNumber = "74";
myNumber = Number(myNumber) + 3;
7 và
let myNumber = "74";
myNumber = Number(myNumber) + 3;
8.
You can make the browser do it the other way round — increment/decrement the variable then return the value — by putting the operator at the start of the variable instead of the end. Try the above examples again, but this time use
let myNumber = "74";
myNumber = Number(myNumber) + 3;
7 and
let myNumber = "74";
myNumber = Number(myNumber) + 3;
8.

Toán tử chuyển nhượng

Các toán tử gán là các toán tử gán một giá trị cho một biến. Chúng tôi đã sử dụng cái cơ bản nhất,

let myNumber = "74";
myNumber = Number(myNumber) + 3;
9, tải thời gian - nó gán biến ở bên trái giá trị được nêu ở bên phải:

let x = 3; // x contains the value 3
let y = 4; // y contains the value 4
x = y; // x now contains the same value y contains, 4

Nhưng có một số loại phức tạp hơn, cung cấp các phím tắt hữu ích để giữ cho mã của bạn gọn gàng và hiệu quả hơn. Phổ biến nhất được liệt kê dưới đây:

Hãy thử gõ một số ví dụ trên vào bảng điều khiển của bạn, để có ý tưởng về cách chúng hoạt động. Trong mỗi trường hợp, xem liệu bạn có thể đoán giá trị là gì trước khi bạn nhập dòng thứ hai không.

Lưu ý rằng bạn có thể sử dụng các biến khác một cách vui vẻ ở phía bên phải của mỗi biểu thức, ví dụ:

let x = 3; // x contains the value 3
let y = 4; // y contains the value 4
x *= y; // x now contains the value 12

Học tập tích cực: Kích thước hộp vải

Trong bài tập này, bạn sẽ điều khiển một số số và người vận hành để thay đổi kích thước của một hộp. Hộp được vẽ bằng API trình duyệt có tên API Canvas. Không cần phải lo lắng về cách thức hoạt động của nó - chỉ tập trung vào toán học bây giờ. Chiều rộng và chiều cao của hộp (tính bằng pixel) được xác định bởi các biến

const num1 = 10;
const num2 = 50;
9 * num1;
num1 ** 3;
num2 / num1;
0 và
const num1 = 10;
const num2 = 50;
9 * num1;
num1 ** 3;
num2 / num1;
1, ban đầu đều được đưa ra giá trị là 50.

Mở trong cửa sổ mới

Trong hộp mã có thể chỉnh sửa ở trên, có hai dòng được đánh dấu bằng một nhận xét mà chúng tôi muốn bạn cập nhật để làm cho hộp phát triển/thu nhỏ theo các kích thước nhất định, sử dụng một số toán tử và/hoặc giá trị nhất định trong mỗi trường hợp. Hãy thử những điều sau:

  • Thay đổi dòng tính toán x để hộp vẫn rộng 50px, nhưng 50 được tính toán bằng cách sử dụng các số toán số 43 và 7 và một toán tử số học.
  • Thay đổi dòng tính toán y để hộp cao 75px, nhưng 75 được tính bằng cách sử dụng các số 25 và 3 và toán tử số học.
  • Thay đổi dòng tính toán x để hộp rộng 250px, nhưng 250 được tính toán bằng hai số và toán tử còn lại (modulo).
  • Thay đổi dòng tính toán y để hộp cao 150px, nhưng 150 được tính toán bằng ba số và các toán tử trừ và phân chia.
  • Thay đổi dòng tính toán x để hộp rộng 200px, nhưng 200 được tính toán bằng cách sử dụng số 4 và toán tử gán.
  • Thay đổi dòng tính toán y để hộp cao 200px, nhưng 200 được tính toán bằng số 50 và 3, toán tử nhân và toán tử gán bổ sung.

Đừng lo lắng nếu bạn hoàn toàn làm rối mã. Bạn luôn có thể nhấn nút đặt lại để mọi thứ hoạt động trở lại. Sau khi bạn đã trả lời tất cả các câu hỏi trên một cách chính xác, vui lòng chơi với mã hơn một số hoặc tạo ra những thách thức của riêng bạn.

Toán tử so sánh

Đôi khi chúng tôi sẽ muốn chạy các thử nghiệm đúng/sai, sau đó hành động phù hợp tùy thuộc vào kết quả của bài kiểm tra đó - để thực hiện điều này, chúng tôi sử dụng các toán tử so sánh.comparison operators.

Lưu ý: Bạn có thể thấy một số người sử dụng

const num1 = 10;
const num2 = 50;
9 * num1;
num1 ** 3;
num2 / num1;
2 và
const num1 = 10;
const num2 = 50;
9 * num1;
num1 ** 3;
num2 / num1;
3 trong các bài kiểm tra của họ về bình đẳng và không bình đẳng. Đây là những toán tử hợp lệ trong JavaScript, nhưng chúng khác với ________ 54/________ 55. Các phiên bản trước đây kiểm tra xem các giá trị có giống nhau hay không, liệu các kiểu dữ liệu của các giá trị có giống nhau hay không. Các phiên bản thứ hai, nghiêm ngặt kiểm tra sự bình đẳng của cả hai giá trị và các kiểu dữ liệu của chúng. Các phiên bản nghiêm ngặt có xu hướng dẫn đến ít lỗi hơn, vì vậy chúng tôi khuyên bạn nên sử dụng chúng.
You may see some people using
const num1 = 10;
const num2 = 50;
9 * num1;
num1 ** 3;
num2 / num1;
2 and
const num1 = 10;
const num2 = 50;
9 * num1;
num1 ** 3;
num2 / num1;
3 in their tests for equality and non-equality. These are valid operators in JavaScript, but they differ from
const num1 = 10;
const num2 = 50;
9 * num1;
num1 ** 3;
num2 / num1;
4/
const num1 = 10;
const num2 = 50;
9 * num1;
num1 ** 3;
num2 / num1;
5. The former versions test whether the values are the same but not whether the values' datatypes are the same. The latter, strict versions test the equality of both the values and their datatypes. The strict versions tend to result in fewer errors, so we recommend you use them.

Nếu bạn thử nhập một số giá trị này vào bảng điều khiển, bạn sẽ thấy rằng tất cả chúng đều trả về ____ 56/________ 57 giá trị - những booleans mà chúng tôi đã đề cập trong bài viết trước. Chúng rất hữu ích, vì chúng cho phép chúng tôi đưa ra quyết định trong mã của chúng tôi và chúng được sử dụng mỗi khi chúng tôi muốn đưa ra lựa chọn nào đó. Ví dụ, Booleans có thể được sử dụng để:

  • Hiển thị đúng nhãn văn bản trên nút tùy thuộc vào hay bật một tính năng
  • Hiển thị một trò chơi qua tin nhắn nếu một trò chơi kết thúc hoặc một tin nhắn chiến thắng nếu trò chơi đã thắng
  • Hiển thị lời chào theo mùa chính xác tùy thuộc vào mùa lễ
  • Thu phóng bản đồ vào hoặc ra tùy thuộc vào mức độ zoom được chọn

Chúng ta sẽ xem xét cách mã hóa logic như vậy khi chúng ta xem xét các câu lệnh có điều kiện trong một bài viết trong tương lai. Bây giờ, chúng ta hãy xem một ví dụ nhanh:

typeof myInt;
typeof myFloat;
0

typeof myInt;
typeof myFloat;
1

Mở trong cửa sổ mới

Trong hộp mã có thể chỉnh sửa ở trên, có hai dòng được đánh dấu bằng một nhận xét mà chúng tôi muốn bạn cập nhật để làm cho hộp phát triển/thu nhỏ theo các kích thước nhất định, sử dụng một số toán tử và/hoặc giá trị nhất định trong mỗi trường hợp. Hãy thử những điều sau:

Thay đổi dòng tính toán x để hộp vẫn rộng 50px, nhưng 50 được tính toán bằng cách sử dụng các số toán số 43 và 7 và một toán tử số học. Such a control that swaps between two states is generally referred to as a toggle. It toggles between one state and another — light on, light off, etc.

Thay đổi dòng tính toán y để hộp cao 75px, nhưng 75 được tính bằng cách sử dụng các số 25 và 3 và toán tử số học.

Thay đổi dòng tính toán x để hộp rộng 250px, nhưng 250 được tính toán bằng hai số và toán tử còn lại (modulo).

Bản tóm tắt

Trong bài viết này, chúng tôi đã đề cập đến thông tin cơ bản mà bạn cần biết về các con số trong JavaScript, bây giờ. Bạn sẽ thấy các số được sử dụng nhiều lần, tất cả các cách thông qua việc học JavaScript của bạn, vì vậy bạn nên tránh xa điều này ngay bây giờ. Nếu bạn là một trong những người không thích toán học, bạn có thể thoải mái trong thực tế rằng chương này khá ngắn.

Trong bài viết tiếp theo, chúng tôi sẽ khám phá văn bản và cách JavaScript cho phép chúng tôi thao tác nó.

Lưu ý: Nếu bạn thích toán và muốn đọc thêm về cách thực hiện trong JavaScript, bạn có thể tìm thấy nhiều chi tiết hơn trong phần JavaScript chính của MDN. Những nơi tuyệt vời để bắt đầu là những con số và ngày của chúng tôi và các bài báo và biểu thức. If you do enjoy math and want to read more about how it is implemented in JavaScript, you can find a lot more detail in MDN's main JavaScript section. Great places to start are our Numbers and dates and Expressions and operators articles.

  • Trước
  • Tổng quan: Các bước đầu tiên
  • Tiếp theo

Trong mô -đun này

5 toán tử số học là gì?

Các toán tử này là + (bổ sung), - (phép trừ), * (phép nhân), / (chia) và % (modulo).+ (addition), - (subtraction), * (multiplication), / (division), and % (modulo).

7 toán tử số học là gì?

Các toán tử số học được sử dụng để thực hiện các hoạt động toán học như bổ sung, trừ, nhân và chia ...
Addition..
Subtraction..
Multiplication..
Division..
Modulus..
Exponentiation..
Phân chia sàn ..

4 loại toán tử JavaScript là gì?

Có nhiều loại toán tử JavaScript khác nhau:..
Toán tử số học ..
Người vận hành chuyển nhượng ..
Toán tử so sánh..
Toán tử logic ..
Người vận hành có điều kiện ..
Loại người vận hành ..

Điều nào sau đây là toán tử số học trong JavaScript?

Các toán tử số học JavaScript.