Toán tử typeof

Toán tử typeof cho phép xác định kiểu của tham số (số, chuỗi, đối tượng). Toán tử trả về một chuỗi, chứa kiểu ('number', 'string', 'object').

Đối với null toán tử trả về 'object' (đây là một lỗi đã được công nhận của ngôn ngữ). Đối với các hàm toán tử trả về 'function'. Điều này được thực hiện để thuận tiện, vì kiểu 'function' không tồn tại.

Cú pháp

Toán tử typeof có 2 cú pháp (cả hai cú pháp đều hoạt động giống nhau):

javascripttypeof tham_số;
typeof(tham_số);

Ví dụ

Hãy xem cách typeof làm việc với một số:

javascripttypeof 1;

Kết quả của việc thực thi mã chúng ta sẽ nhận được giá trị number:

javascript'number'

Ví dụ

Bây giờ hãy đặt một chuỗi làm tham số:

javascripttypeof 'str';

Kết quả thực thi mã:

javascript'string'

Ví dụ

Bây giờ hãy chỉ định một giá trị boolean true làm tham số:

javascripttypeof true;

Kết quả thực thi mã:

javascript'boolean'

Ví dụ

Hãy xem kiểu của giá trị undefined là gì:

javascripttypeof undefined;

Sau khi thực thi mã chúng ta cũng sẽ nhận được undefined:

javascript'undefined'

Ví dụ

Bây giờ hãy tìm hiểu kiểu của một đối tượng rỗng:

javascripttypeof {};

Kết quả thực thi mã:

javascript'object'

Ví dụ

Và bây giờ hãy tìm hiểu kiểu của một mảng rỗng:

javascripttypeof [];

Kết quả chúng ta cũng sẽ nhận được 'object':

javascript'object'

Ví dụ

Hãy tìm hiểu kiểu của giá trị null:

javascripttypeof null;

Kết quả chúng ta cũng sẽ nhận được 'object', đây là một lỗi đã được công nhận của ngôn ngữ:

javascript'object'

Ví dụ

Bây giờ hãy xác định kiểu của một hàm rỗng:

javascripttypeof function() {};

Sau khi thực thi mã chúng ta sẽ nhận được 'function', mặc dù kiểu như vậy không tồn tại. Chuỗi này cần thiết để thuận tiện cho người dùng khi xác định một hàm:

javascript'function'

Ví dụ

Hãy viết một hàm sẽ chỉ hiển thị các số:

javascriptfunction printNumber(so) {
  if (typeof so === 'number') {
    console.log(so);
  }
}

printNumber(2);
printNumber('str');
printNumber(3);

Xem thêm

  • hàm isNaN,
    thực hiện kiểm tra NaN
  • hàm isFinite,
    kiểm tra một số có hữu hạn không