9 poin oleh 0xwof 2022-09-14 | 3 komentar | Bagikan ke WhatsApp
  • TypeScript 4.9 dijadwalkan rilis pada 15 November, dan beta test akan dimulai pada 20 September

    • Saat ini sudah bisa digunakan dalam versi nightly di Playground
  • Keyword satisfies ditambahkan ke TypeScript 4.9

  • Berbeda dengan keyword as yang sudah ada, ini mendukung upcasting yang aman

  • Sebelumnya, upcasting yang aman hanya dimungkinkan jika tipe sudah ditentukan terlebih dahulu

  • Dengan satisfies, upcasting yang aman bisa dilakukan dengan nyaman bahkan untuk satu key-value dalam object

  • Sebelumnya

// Aman tetapi merepotkan karena harus mendefinisikan tipe (definisi tipe)  
const object: {  
    a: number  
    b: { a: number }  
} = {  
     a: 10,  
     b: { a: 10, b: 20 } // no error  
     // b: {} // error  
}  
// Praktis tetapi tidak aman (`as`)  
const object = {  
    a: 10,  
    b: { a: 10, b: 20 } as { a: number } // no error  
    // b: {} as { a: number } // no error (!!!)  
}  
  • satisfies
// Praktis dan aman  
const object = {  
    a: 10,  
    b: { a: 10, b: 20 } satisfies { a: number } // no error  
    // b: {} satisfies { a: number } // error  
}  

3 komentar

 
yangeok 2022-09-19

Agak disayangkan, saya malah berharap const assertion dihilangkan dan satisfies yang dimasukkan,,

 
yangeok 2022-09-19

Ah, itu bukan const assertion -> hanya assertion biasa.

 
kyc1682 2022-09-14

Rasanya makin lama makin rumit ya huhu