9 पॉइंट द्वारा 0xwof 2022-09-14 | 3 टिप्पणियां | WhatsApp पर शेयर करें
  • TypeScript 4.9 के 15 नवंबर को रिलीज़ होने की योजना है, और 20 सितंबर से beta testing शुरू होगी

    • अभी Playground में nightly के रूप में इस्तेमाल किया जा सकता है
  • TypeScript 4.9 में satisfies कीवर्ड जोड़ा गया है

  • यह मौजूदा as कीवर्ड से अलग, सुरक्षित upcasting को सपोर्ट करता है

  • पहले सुरक्षित upcasting तभी संभव था जब type पहले से तय हो

  • satisfies का उपयोग करने पर object के किसी एक key-value के लिए भी आसानी से सुरक्षित upcasting किया जा सकता है

  • पहले

// सुरक्षित है लेकिन type definition अलग से करनी पड़ती है (type definition)  
const object: {  
    a: number  
    b: { a: number }  
} = {  
     a: 10,  
     b: { a: 10, b: 20 } // no error  
     // b: {} // error  
}  
// सुविधाजनक है लेकिन सुरक्षित नहीं है (`as`)  
const object = {  
    a: 10,  
    b: { a: 10, b: 20 } as { a: number } // no error  
    // b: {} as { a: number } // no error (!!!)  
}  
  • satisfies
// सुविधाजनक और सुरक्षित  
const object = {  
    a: 10,  
    b: { a: 10, b: 20 } satisfies { a: number } // no error  
    // b: {} satisfies { a: number } // error  
}  

3 टिप्पणियां

 
yangeok 2022-09-19

लगता है, काश const assertion को हटाकर उसकी जगह satisfies डाला होता,,

 
yangeok 2022-09-19

अरे, const assertion नहीं -> बस assertion है

 
kyc1682 2022-09-14

यह धीरे-धीरे और ज़्यादा जटिल लगता जा रहा है आह