satisfies: ép kiểu lên an toàn (TypeScript 4.9)
(engineering.ab180.co)-
TypeScript 4.9 dự kiến sẽ được phát hành vào ngày 15 tháng 11, và bắt đầu beta test từ ngày 20 tháng 9
- Hiện có thể dùng bản nightly trên Playground
-
Trong TypeScript 4.9, từ khóa
satisfiesđã được thêm vào -
Khác với từ khóa
ashiện có, nó hỗ trợ ép kiểu lên an toàn -
Trước đây, chỉ khi kiểu đã được định nghĩa sẵn thì mới có thể ép kiểu lên an toàn
-
Dùng
satisfiesthì ngay cả với một key-value đơn lẻ trong object cũng có thể ép kiểu lên an toàn một cách thuận tiện -
Trước đây
// An toàn nhưng phải định nghĩa kiểu khá phiền (định nghĩa kiểu)
const object: {
a: number
b: { a: number }
} = {
a: 10,
b: { a: 10, b: 20 } // no error
// b: {} // error
}
// Thuận tiện nhưng không an toàn (as)
const object = {
a: 10,
b: { a: 10, b: 20 } as { a: number } // no error
// b: {} as { a: number } // no error (!!!)
}
satisfies
// Vừa thuận tiện vừa an toàn
const object = {
a: 10,
b: { a: 10, b: 20 } satisfies { a: number } // no error
// b: {} satisfies { a: number } // error
}
3 bình luận
Hơi tiếc là giá như bỏ
const assertionđi và đưasatisfiesvào thì tốt hơn,,À,
const assertion-> chỉ làassertionthôi.Cảm giác ngày càng phức tạp hơn huhu