LẬP TRÌNH CĂN BẢN - Trang 53

/codegym.vn/ - 48

1.

let

abc

;

// Không nên

2.

let

uName

;

// Không nên

Quy tắc #4: Mỗi biến khai báo trên một dòng

Khi khai báo biên nên tách mỗi dòng khai báo một biến.
Ví dụ:

1.

let

i

=

3

,

j

=

5

,

k

=

10

;

// Không nên

2.

let

i

=

3

;

// Nên

3.

let

j

=

5

;

// Nên

4.

let

k

=

10

;

// Nên

11. Các lỗi thường gặp

Các lỗi thường gặp #1: Toán tử “===”

Toán tử “===” so sánh đồng thời giá trị và kiểu dữ liệu. Ví dụ:

1.

let

x

=

5

;

2.

let

y

=

x

===

5

;

// y = true

3.

let

z

=

x

===

"5"

;

// z = false

Trong ví dụ trên, biến y có giá trị là true vì biến x5 có cùng giá trị và cùng kiểu dữ
liệu. Biến z có giá trị là false vì biến x“5” có cùng giá trị nhưng khác nhau về kiểu
dữ liệu.

Các lỗi thường gặp #2: So sánh số thực

Trong lập trình, không phải bao giờ các phép tính toán trên số thực cũng cho kết quả
chính xác tuyệt đối. Việc so sánh bằng (==) giữa hai biểu thức số thực là không đáng
tin cậy.
Ví dụ, đoạn mã sau sẽ hiển thị kết quả là false thay vì true như chúng ta thường nghĩ

1.

let

x

=

1.0

-

0.1

-

0.1

-

0.1

-

0.1

-

0.1

;

2. console

.

log

(

x

==

0.5

);

// false

3. console

.

log

(

x

);

// 0.5000000000000001

Trong ví dụ trên, giá trị của biến x không phải là 0.5 mà là 0.5000000000000001
Giải pháp cho tình huống so sánh số thực:
Để xử lý tình huống so sách giữa các số thực, chúng ta sử dụng cách so sánh gần
đúng, dựa trên nguyên tắc: hiệu số của hai giá trị là một số rất nhỏ (epsilon), chẳng
hạn như 10

-7

hoặc 10

-14

.

Ví dụ:

1.

const

EPSILON

=

1E-14

;

2.

let

x

=

1.0

-

0.1

-

0.1

-

0.1

-

0.1

-

0.1

;

3. console

.

log

(

Math

.

abs

(

x

-

0.5

)

<

EPSILON

);

// true

Hàm Math.abs() trên đây cho chúng ta giá trị tuyệt đối của biểu thức x - 0.5. Kết quả
nhỏ hơn sai số cho phép và kết quả so sánh là true.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.