satisfies: सुरक्षित upcasting (TypeScript 4.9)
(engineering.ab180.co)-
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 टिप्पणियां
लगता है, काश
const assertionको हटाकर उसकी जगहsatisfiesडाला होता,,अरे,
const assertionनहीं -> बसassertionहैयह धीरे-धीरे और ज़्यादा जटिल लगता जा रहा है आह