Các kiểu dữ liệu trong javascript là gì năm 2024
JavaScript cho phép bạn sử dụng kiểu nguyên thủy giống như object. Nghĩa là bạn có thể gọi các phương thức của kiểu nguyên thủy giống như gọi với object. Show Nghe có vẻ vô lý nhưng đúng là như vậy. Trước khi đi vào chi tiết, bạn cần phân biệt rõ kiểu nguyên thủy và object. ► Kiểu nguyên thủy:
► Object:
Điều đặc biệt nhất của object là bạn có thể lưu hàm thành một thuộc tính trong object. Hàm đó gọi là phương thức của object, ví dụ:
Có nhiều object mặc định của JavaScript giúp bạn thao tác với ngày tháng, trình duyệt, xử lý lỗi,... Mỗi đối tượng có những thuộc tính và phương thức khác nhau. Điều này giúp việc lập trình trở nên dễ dàng hơn. Nhưng ngược lại, object tốn nhiều tài nguyên để lưu trữ hơn. Trên đây là sự khác nhau giữa kiểu nguyên thủy và object. Vậy sử dụng các phương thức của kiểu nguyên thủy nghĩa là thế nào? Một nghịch lý khi tạo ra JavaScript là:
Để giải quyết vấn đề này, JavaScript thực hiện như sau:
Những "wrapper object" ứng với các kiểu dữ liệu nguyên thủy là:
3,
4,
5,
6,
7. Những đối tượng này cung cấp các phương thức khác nhau để bạn làm việc với kiểu nguyên thủy. Ví dụ một phương thức của string là
8. Phương thức này trả về giá trị string với các kí tự đều viết hoa.
Quá trình xử lý hiểu đơn giản là:
Đó là cách gọi phương thức của kiểu nguyên thủy mà vẫn đảm bảo kiểu nguyên thủy đơn giản và nhẹ nhất có thể. Các hàm khởi tạo
3,
4 và
6 được JavaScript Engine sử dụng nội bộ. Bạn có thể chủ động sử dụng các hàm khởi tạo này với toán tử
8 để tạo ra "wrapper object". Nhưng thực tế là bạn không nên, vì có nhiều trường hợp gây khó hiểu.
Bạn thấy rằng,
9 là kiểu number nhưng
0 lại là kiểu object. Mà object thì luôn là truthy. Ví dụ sử dụng
0 với câu lệnh
2:
Điều này đôi khi khá khó hiểu và dễ gây nhầm lẫn. Vì vậy, lời khuyên là bạn không nên dùng
3,
4 hay
5 với toán
8 để khởi tạo. Nhưng nếu sử dụng các hàm này mà không dùng toán tử
8 thì sao? Việc không sử dụng toán tử
8 với các hàm trên lại khá hữu ích. Chúng sẽ chuyển đổi kiểu dữ liệu về kiểu nguyên thủy tương ứng. Ví dụ sử dụng hàm
3 để chuyển đổi kiểu dữ liệu về number:
Gọi phương thức của
0 và
1 đều bị lỗi như sau:
Có thể gọi phương thức của kiểu nguyên thủy (trừ
0 và
1). Cơ chế hoạt động là: JavaScript tạo ra một "wrapper object" chứa giá trị nguyên thủy và phương thức sử dụng. Sau khi phương thức gọi xong thì "wrapper object" được giải phóng. Các bài viết sau mình sẽ đi vào chi tiết các phương thức hữu ích của:
3 và
4. Cho đoạn code sau:
Kết quả hiển thị là gì? Xem đáp án Kết quả là:
1. Giải thích:
Chú ý: Nếu sử dụng strict mode thì bạn sẽ bị lỗi Uncaught TypeError: Cannot create property 'prop' on string 'Hello' Number là kiểu dữ liệu gì?2. Kiểu dữ liệu Number. Kiểu dữ liệu number được sử dụng để biểu thị các số dương hoặc âm có hoặc không có vị trí thập phân hoặc các số được viết bằng ký hiệu số mũ, ví dụ: 1,5e-4 (tương đương 1,5x10-4). Object là kiểu dữ liệu gì?Object là 1 kiểu dữ liệu phức tạp - reference type có thể chứa nhiều kiểu dữ liệu khác nhau thông qua cặp key, value. Value có thể là kiểu dữ liệu bất kỳ: number, string, boolean, array, function, object… NaN trong lập trình là gì?Trong tin học, NaN, (viết tắt của từ tiếng Anh not a number - không phải số), là một giá trị của kiểu dữ liệu số, biểu diễn một giá trị không xác định hoặc không thể biểu diễn, nó thường gặp trong các phép tính dấu phẩy động. Instanceof trong JS là gì?Toán tử instanceof trong Java là một toán tử được sử dụng để kiểm tra xem đối tượng này có phải là instance của một class hay interface nào đó hay không? Kết quả trả về của toán tử này sẽ là true nếu đối tượng đó là thể hiện của class mà các bạn đang check, ngược lại thì false. |