"Döküm" dönüşümden farklıdır. Bu durumda, window.location.hashbir sayıyı otomatik olarak bir dizeye dönüştürür. Ancak bir TypeScript derleme hatasını önlemek için dize dönüşümünü kendiniz yapabilirsiniz:
window.location.hash = ""+page_number;
window.location.hash = String(page_number);
Eğer bir hata atılmasına istemiyorsanız Bu dönüşümler idealdir page_numberolduğu nullveya undefined. Oysa page_number.toString()ve page_number.toLocaleString()ne zaman atacak page_numberolan nullveya undefined.
Dönüştürmemeniz için yalnızca yayınlamanız gerektiğinde, TypeScript'te bir dizeye şu şekilde yayınlanır:
window.location.hash = <string>page_number;
// or
window.location.hash = page_number as string;
<string>Veya as stringdökme ek açıklamalar tedavi için typescript derleyici anlatmakpage_number derleme zamanında bir dize olarak; çalışma zamanında dönüştürülmez.
Ancak, derleyici bir dizeye sayı atayamayacağınızdan şikayet edecektir. Önce yayın yapmalısın <any>, sonra<string> :
window.location.hash = <string><any>page_number;
// or
window.location.hash = page_number as any as string;
Bu nedenle, türü çalışma zamanında ve derleme zamanında işleyen dönüştürmek daha kolaydır:
window.location.hash = String(page_number);
(Dize numarası döküm sorununu yakaladığı için @RuslanPolutsygan'a teşekkürler.)
page_numberolduğununullbu ayarlarwindow.location.hashdize * için"null". (Bir hatayı tercih ederim: D).