9 Punkte von 0xwof 2022-09-14 | 3 Kommentare | Auf WhatsApp teilen
  • TypeScript 4.9 soll am 15. November veröffentlicht werden, Beta-Tests sind ab dem 20. September geplant

    • Derzeit im Playground als nightly nutzbar
  • In TypeScript 4.9 wurde das Schlüsselwort satisfies hinzugefügt

  • Anders als das bisherige Schlüsselwort as unterstützt es sicheres Upcasting

  • Ursprünglich war sicheres Upcasting nur möglich, wenn der Typ im Voraus festgelegt war

  • Mit satisfies ist bequemes und sicheres Upcasting auch für ein einzelnes Key-Value-Paar eines Objekts möglich

  • Bisher

// Sicher, aber umständlich, da eine Typdefinition nötig ist (Typdefinition)  
const object: {  
    a: number  
    b: { a: number }  
} = {  
     a: 10,  
     b: { a: 10, b: 20 } // no error  
     // b: {} // error  
}  
// Bequem, aber nicht sicher (`as`)  
const object = {  
    a: 10,  
    b: { a: 10, b: 20 } as { a: number } // no error  
    // b: {} as { a: number } // no error (!!!)  
}  
  • satisfies
// Bequem und sicher  
const object = {  
    a: 10,  
    b: { a: 10, b: 20 } satisfies { a: number } // no error  
    // b: {} satisfies { a: number } // error  
}  

3 Kommentare

 
yangeok 2022-09-19

Ich finde es etwas schade, dass man statt const assertion lieber satisfies eingefügt hat,,

 
yangeok 2022-09-19

Ah, const assertion -> das ist einfach nur eine Assertion.

 
kyc1682 2022-09-14

Wirkt irgendwie immer komplexer :(