Những điều bất ngờ cần phải chú ý khi bạn viết code javascript

| Thứ Sáu, 27 tháng 10, 2017
1. So sánh 2 gía trị bằng nhau

Trong javascript có thể so sánh giá trị bằng dầu (==) hoặc (===). Nhưng nó có một chút sợ biệt về việc sử dụng
dùng 2 dầu bằng (==)
"42" == 42
# true
"\n\t 42 \t\n\n" == 42
# true
Một bên là string còn một bên khác lá số, kết quả so sánh sẽ trả về true nếu giá trị của 2 bên bằng nhau
dùng 3 dầu bằng(===) (strict equal)
Một số trường hợp cần thiết ví dụ validate..., nên sử dụng strict qual
"\n\t 42 \t\n\n" === 42
# false
2. Chú ý khi tính toán với kiểu số float

0.1 + 0.2 = 0.30000000000000004 
0.1 * 0.2 = 0.020000000000000004
0.1 + 0.2 === 0.3 => false
Rất bất ngờ khi nhìn kết quả tính toán ở trên. Tại sao tổng không phải 0.3 và kết qủa nhân không phải 0.02? Không chỉ riêng javascript, các ngôn ngữ khác cũng tương tự. Nếu muốn biết tại sao bạn có thể tìm hiểu ở đây http://floating-point-gui.de/basic/

3. null có bằng 0 không?

chắc chắn null sẽ không bằng 0 nhưng nếu thực hiện tính toán như bên dưới
null == 0
# false
null > 0
# false
null >= 0
# true
null < 0 
# false
null <= 0 
# true

theo tính toán tại sao lại null không bằng 0? 🤔

Nếu bạn đang nghi ngờ hãy xem câu trả lời ở đây https://stackoverflow.com/questions/2910495/why-null-0-null-0-but-not-null-0


4. NaN (not a number)

NaN(not a number) nghĩa là không phải là số nhưng nếu mình kiểm tra lại kiểu dữ liệu của nó lại tra về là kiểu number

typeof(NaN) => "number"

xem thêm : học lập trình android ở đâu

0 nhận xét:

Đăng nhận xét

Next Prev
▲Top▲