"कास्टिंग" रूपांतरण से अलग है। इस स्थिति में, window.location.hash
एक नंबर को एक स्ट्रिंग में ऑटो-कन्वर्ट कर देगा। लेकिन टाइपस्क्रिप्ट संकलन त्रुटि से बचने के लिए, आप स्ट्रिंग रूपांतरण स्वयं कर सकते हैं:
window.location.hash = ""+page_number;
window.location.hash = String(page_number);
आप जब एक त्रुटि फेंक दिया करने के लिए नहीं चाहते हैं तो ये रूपांतरण आदर्श होते page_number
है null
या undefined
। जबकि page_number.toString()
और page_number.toLocaleString()
फेंक होगा जब page_number
है null
या undefined
।
जब आपको केवल कास्ट करने की आवश्यकता होती है, कन्वर्ट नहीं, तो यह है कि टाइपस्क्रिप्ट में स्ट्रिंग कैसे डाली जाए:
window.location.hash = <string>page_number;
// or
window.location.hash = page_number as string;
<string>
या as string
डाली एनोटेशन इलाज के लिए टाइपप्रति संकलक बता page_number
संकलन समय पर स्ट्रिंग के रूप में; यह रन टाइम में परिवर्तित नहीं होता है।
हालाँकि, कंपाइलर शिकायत करेगा कि आप किसी स्ट्रिंग को नंबर असाइन नहीं कर सकते। आपको पहले कास्ट करना होगा <any>
, उसके बाद <string>
:
window.location.hash = <string><any>page_number;
// or
window.location.hash = page_number as any as string;
इसलिए इसे केवल रूपांतरित करना आसान है, जो रन टाइम पर टाइप को हैंडल करता है और समय संकलित करता है:
window.location.hash = String(page_number);
(स्ट्रिंग-नंबर कास्टिंग समस्या को पकड़ने के लिए @RuslanPolutsygan का धन्यवाद।)
page_number
हैnull
इस सेट हो जाएगाwindow.location.hash
* करने के लिए स्ट्रिंग"null"
। (मैं एक त्रुटि पसंद करूंगा: D)।