Kiểu ký hiệu TypeScript và cách sử dụng

Kiểu Symbol trong TypeScript là kiểu nguyên thủy duy nhất và bất biến được giới thiệu trong ES6. Symbol thường được sử dụng làm khóa thuộc tính đối tượng để đảm bảo rằng các thuộc tính là duy nhất và không vô tình ghi đè lên nhau. Điều này đặc biệt hữu ích trong các tình huống mà các thuộc tính đối tượng cần được sử dụng làm hằng số nhưng phải được giữ là duy nhất và không thể đếm được.

Tạo biểu tượng

Để tạo một Symbol, hàm Symbol được sử dụng. Mỗi lần Symbol được gọi, một symbol duy nhất mới sẽ được tạo.

const uniqueSymbol = Symbol('description');
const anotherSymbol = Symbol('description'); // This is a different symbol, even if the description is the same

Sử dụng biểu tượng như khóa đối tượng

Biểu tượng có thể được sử dụng làm khóa cho thuộc tính đối tượng. Điều này đảm bảo rằng tên thuộc tính là duy nhất và ngăn ngừa xung đột vô tình với các thuộc tính khác.

const mySymbol = Symbol('mySymbol');

const myObject = {
  [mySymbol]: 'value'
};

console.log(myObject[mySymbol]); // Outputs: value

Symbol.for và Symbol.keyFor

Phương thức Symbol.for tạo hoặc truy xuất một ký hiệu toàn cục theo một khóa nhất định. Điều này có thể hữu ích khi chia sẻ các ký hiệu trên các phần khác nhau của ứng dụng. Phương thức Symbol.keyFor trả về khóa được liên kết với một ký hiệu toàn cục.

const globalSymbol = Symbol.for('globalSymbol');
const sameGlobalSymbol = Symbol.for('globalSymbol'); // Retrieves the same symbol

console.log(globalSymbol === sameGlobalSymbol); // Outputs: true

const symbolKey = Symbol.keyFor(globalSymbol);
console.log(symbolKey); // Outputs: 'globalSymbol'

Phần kết luận

Kiểu Symbol trong TypeScript cung cấp một cơ chế mạnh mẽ để tạo các khóa thuộc tính duy nhất, có thể giúp ngăn ngừa xung đột tên thuộc tính và đảm bảo mã đáng tin cậy và dễ bảo trì hơn. Bằng cách hiểu và sử dụng các ký hiệu, các nhà phát triển có thể quản lý tốt hơn các thuộc tính đối tượng và tính duy nhất của chúng trong ứng dụng TypeScript.