"Transmitir" é diferente de conversão. Nesse caso, window.location.hash
irá converter automaticamente um número em uma string. Mas, para evitar um erro de compilação TypeScript, você mesmo pode fazer a conversão de string:
window.location.hash = ""+page_number;
window.location.hash = String(page_number);
Essas conversões são ideais se você não deseja que um erro seja gerado quando page_number
é null
ou undefined
. Considerando page_number.toString()
e page_number.toLocaleString()
jogará quando page_number
é null
ou undefined
.
Quando você só precisa converter, não converter, é como converter em uma string no TypeScript:
window.location.hash = <string>page_number;
// or
window.location.hash = page_number as string;
As anotações <string>
ou as string
cast dizem ao compilador TypeScript para tratar page_number
como uma string no tempo de compilação; não converte em tempo de execução.
No entanto, o compilador reclamará que você não pode atribuir um número a uma string. Você precisaria primeiro converter para <any>
, depois <string>
:
window.location.hash = <string><any>page_number;
// or
window.location.hash = page_number as any as string;
Portanto, é mais fácil converter, que lida com o tipo em tempo de execução e tempo de compilação:
window.location.hash = String(page_number);
(Agradecemos a @RuslanPolutsygan por detectar o problema de transmissão do número da string.)
page_number
énull
isto irá definirwindow.location.hash
até * a corda"null"
. (Eu preferiria um erro: D).