Javascript a = +a nghĩa là sao?
TIL
500
Javascript
200
White

Bùi Hồng Hà viết ngày 19/01/2017

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 :)

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Bùi Hồng Hà

59 bài viết.
262 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
74 8
Bài viết tổng hợp cơ chế hoạt động của https Chút ít về chữ ký điện tử Chữ ký điện tử là cơ chế bao gồm 3 thuật toán: Thuật toán chọn một khóa...
Bùi Hồng Hà viết gần 3 năm trước
74 8
White
43 7
Giới thiệu Gần đây thấy bản thân chém gió rất nhiều về MapReduce, Hadoop v.v nhưng chưa thấy có bài viết nào tổng hợp + giải thích cụ thể về MapRe...
Bùi Hồng Hà viết 2 năm trước
43 7
White
33 0
Giới thiệu Google là một công ty dẫn đầu về phần mềm xử lý Big Data. Hầu hết các phần mềm xử lý dữ liệu như Hadoop đều có nguồn gốc ý tưởng từ Goo...
Bùi Hồng Hà viết 2 năm trước
33 0
Bài viết liên quan
White
18 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết hơn 1 năm trước
18 1
White
1 1
Chào mọi người, hôm nay mình viết một bài TIL nhỏ về cách lấy độ phân giải của màn hình hiện tại đang sử dụng. xdpyinfo | grep dimensions Kết quả...
namtx viết 7 tháng trước
1 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
59 bài viết.
262 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!