दोन्ही कोणतेही मूल्य धारण करू शकतात, परंतु ते सुरक्षा मध्ये भिन्न आहेत. any प्रकार तपासणी बंद करते; unknown ते सुरू ठेवते आणि वापरण्यापूर्वी कमी करण्यास भाग पाडते.
ts
: = ;
a..;
();
: = ;
u.();
();
दोन्ही कोणतेही मूल्य धारण करू शकतात, परंतु ते सुरक्षा मध्ये भिन्न आहेत. any प्रकार तपासणी बंद करते; unknown ते सुरू ठेवते आणि वापरण्यापूर्वी कमी करण्यास भाग पाडते.
: = ;
a..;
();
: = ;
u.();
();
function handle(input: unknown) {
if (typeof input === "string") {
input.toUpperCase(); // ✅ inside the guard, TS knows it's a string
}
}
unknown हा any चा प्रकार-सुरक्षित समकक्ष आहे: तुम्ही त्यात कोणतेही गोष्ट नियुक्त करू शकता, परंतु तुम्ही type guard द्वारे ते काय आहे हे सिद्ध करेपर्यंत तुम्ही कोणतेही काही करू शकत नाही.
unknown — सीमेवर खरोखर अज्ञात प्रकारच्या मूल्यांसाठी: JSON.parse परिणाम, API प्रतिक्रिया, catch (e: unknown). हे सत्यापन लागू करते.any — JS हलवताना किंवा जेव्हा तुम्हाला खरोखर काहीतरी टाइप करू शकत नाही तेव्हा बाहेर पडण्याचा मार्ग. क्षेत्रफळ कमी वापरा; ते शांतपणे पसरते आणि सुरक्षा अक्षम करते.any पर्यंत पोहोचणे TypeScript च्या हेतूचा पराभव करते.
अप्रकारित सीमांवर unknown ला प्राधान्य द्या — हे संकलकची हमी ठेवते तर अजूनही अनियंत्रित इनपुट स्वीकारते, तुम्हाला डेटा ट्रस्ट करण्यापूर्वी सत्यापन करण्यास भाग पाडते.