Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
Javascript a = +a nghĩa là sao?
Rảnh rỗi ngồi nghịch d3js để sinh ra mấy cái graph thấy trong code mẫu có đoạn mã như sau:
// format the data
data.forEach(function(d) {
d.sales = +d.sales;
});
Nhìn đoạn mã này mình không khỏi có 2 thắc mắc:
- comment là "format data" vậy ở đây là định dạng dữ liệu như thế nào?
-
d.sales = +d.sales
nghĩa là gì?
Sau một hồi thử google thấy trên StackOverflow có giải thích
Cụ thể là
Toán tử +
thỉnh thoảng được dùng để chuyển đổi kiểu của biến số sang kiểu số (number
). Cụ thể:
$ node
> a = '5.4'
> a = +a
5.4
> typeof a
number
> +'test'
NaN
Như vậy, toán tử +
sẽ cố gắng thử chuyển đổi kiểu và giá trị của biến số sang kiểu và giá trị số. Kết quả chuyển đổi sẽ là giá trị số tương ứng hay NaN
.
Cách viết này tuy tiện và ngắn gọn nhưng khó hiểu cho các lập trình viên mới vì vậy tốt nhất là không nên dùng, đặc biệt khi mà thư viện chuẩn của Javascript đã chuẩn bị sắn hàm parseInt
:)






