6

Lấy chính xác kiểu dữ liệu của 1 biến trong JavaScript

Bất kì 1 ngôn ngữ nào cũng có cấu trúc dữ liệu của nó. Javascript là ngôn ngữ động, khi bạn tạo ra 1 biến JavaScript không ràng buộc kiểu dữ liệu của biến.

Qua quá trình sử dụng kiểu dữ liệu của biến có thể bị thay đổi dẫn đến việc khó kiểm soát và dễ sinh bugs. Ngày nay có nhiều JavaScript compiler có hỗ trợ static type checker như Typescript, Babel ,Flowjs, etc....

Nhưng nếu không xài những anh chàng này thì sẽ có 1 trick để bạn lấy chính xác kiểu dữ liệu của 1 biến trong JavaScript.

Giải thích:

Trong JavaScript mỗi Object tạo ra đều có hàm toString trả về miêu tả của 1 object.

The toString() method returns a string representing the object.(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString)

Vậy đầu tiên mình gọi Object.toString để lấy ra function toString của Object. Viết tường minh ra sẽ như vầy.

Function.property.call nhận tham số đầu tiên làm giá trị this của Function nên giá trị mình tryền vào ở hàm call chính là giá trị this của function toString. Như ở trên hàm toString khi thực thi sẽ return về miêu tả của 1 object đó nên kết quả mình nhận được khi truyền tham số 1 vào là "[object Number]".

Việc còn lại là format chuỗi này ta sẽ lấy được giá kiểu dữ liệu của biến.

Viết ngắn gọn lại là:

Tham khảo

✧ ✧ ✧

Tìm hiểu thêm về arrow function qua bài viết :

#javascript type#es6#javascript
6
0
...