Toán tử typeof trong TypeScript
1. Toán tử typeof
Toán tử typeof trả về một string biểu thị kiểu dữ liệu của một giá trị được đánh giá.
Cú pháp:
let result = typeof aValue;
Ví dụ:
typeof_ex1.ts
console.log(typeof 42); // "number"
console.log(typeof 'blubber'); // "string"
console.log(typeof true); // "boolean
let aVariable; // A variable is not initialized.
console.log(typeof aVariable); // "undefined"
Về cơ bản, toán tử typeof chỉ trả về một trong các giá trị sau đây:
1 | undefined | "undefined" |
2 | null | "object" |
3 | Boolean | "boolean" |
4 | number | "number" |
5 | BigInt | "bigint" |
6 | string | "string" |
7 | Symbol | "symbol" |
8 | Function object | "function" |
9 | Any other object | "object" |
- TypeScript BigInt
- TypeScript Symbol
- TypeScript Boolean
- Closures trong TypeScript
- Numbers
- String
- Objects
Ví dụ:
typeof_ex2.ts
console.log(' --- (1) typeof undefined -- ');
console.log(typeof undefined); //
let aValue; // A variable is not initialized
console.log(typeof aValue); // "undefined"
console.log(' --- (2) typeof null -- ');
console.log(typeof null); // "object"
console.log(' --- (3) typeof Boolean -- ');
console.log(typeof true); // "boolean"
console.log(typeof (3 > 5)); // "boolean"
console.log(' --- (4) typeof Number -- ');
console.log(typeof 100); // "number"
console.log(' --- (5) typeof bigint -- ');
console.log(' ** See the bigint article for how to use the bigint library.');
console.log(' --- (6) typeof string -- ');
console.log(typeof "Tom"); // "string"
console.log(' --- (7) typeof Symbol -- ');
let aSymbol = Symbol(123);
console.log(typeof aSymbol); // "symbol"
console.log(' --- (8) typeof Function (or Closure) -- ');
let aFunction = function() {
console.log('Hello');
};
console.log(typeof aFunction); // "function"
console.log(' --- (8) typeof Any-Other-Object -- ');
var anObject1 = {name: 'Tom', salary: 1000};
var anObject2 = new Object();
console.log(typeof anObject1); // "object"
console.log(typeof anObject2); // "object"
Output:
--- (1) typeof undefined --
undefined
undefined
--- (2) typeof null --
object
--- (3) typeof Boolean --
boolean
boolean
--- (4) typeof Number --
number
--- (5) typeof bigint --
** See the bigint article for how to use the bigint library.
--- (6) typeof string --
string
--- (7) typeof Symbol --
symbol
--- (8) typeof Function (or Closure) --
function
--- (8) typeof Any-Other-Object --
object
object
Ví dụ: Sử dụng toán tử typeof để xác định kiểu dữ liệu đã truyền vào một constructor:
typeof_ex3.ts
class Song {
title: string;
duration: string; // "minutes:seconds".
constructor(title: string, duration: string | number) {
this.title = title;
if(typeof duration === 'string') {
this.duration = duration;
} else {
let seconds = duration % 60;
let minutes = Math.floor(duration / 60);
this.duration = minutes + ":" + seconds;
}
}
}
let mySong1 = new Song("Hotel California", "6:30");
console.log(`mySong1.duration = ${mySong1.duration}`); // 6:30
let mySong2 = new Song("My Heart Will Go On", 270); // seconds
console.log(`mySong2.duration = ${mySong2.duration}`); // 4:30
Output:
mySong1.duration = 6:30
mySong2.duration = 4:30
Các hướng dẫn TypeScript
- Chạy ví dụ TypeScript đầu tiên của bạn trong Visual Studio Code
- Không gian tên (Namespace) trong TypeScript
- Module trong TypeScript
- Toán tử typeof trong TypeScript
- Biến (Variable) trong TypeScript
- Vòng lặp trong TypeScript
- Cài đặt TypeScript trên Windows
- Hướng dẫn và ví dụ hàm trong TypeScript
- Tuples trong TypeScript
- Interface trong TypeScript
- Mảng (Array) trong TypeScript
- Toán tử instanceof trong TypeScript
- Phương thức trong TypeScript
- Hướng dẫn và ví dụ TypeScript Closures
- Constructor trong TypeScript
- Property trong TypeScript
- Phân tích JSON trong TypeScript
- Phân tích JSON trong TypeScript với thư viện json2typescript
- Trình chuyển đổi mã nguồn (Transpiler) là gì?
Show More