9 điểm bởi 0xwof 2022-09-14 | 3 bình luận | Chia sẻ qua WhatsApp
  • 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 as hiệ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 satisfies thì 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

 
yangeok 2022-09-19

Hơi tiếc là giá như bỏ const assertion đi và đưa satisfies vào thì tốt hơn,,

 
yangeok 2022-09-19

À, const assertion -> chỉ là assertion thôi.

 
kyc1682 2022-09-14

Cảm giác ngày càng phức tạp hơn huhu