"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).window.location.hash = <any>page_number;
String(page_number)
) Em vez de conversão é necessário quando você deseja usar qualquerString
método, comotoLowerCase()
.Basta utilizar
toString
outoLocaleString
eu diria. Assim:Isso gera um erro se
page_number
fornull
ouundefined
. Se você não quiser, pode escolher a correção apropriada para sua situação:fonte
Pode-se também usar a seguinte sintaxe no texto datilografado. Observe o backtick "` "
fonte
window.location.hash é a
string
, faça o seguinte:fonte
"A conversão do tipo 'número' para o tipo 'sequência' pode ser um erro, porque nenhum deles se sobrepõe suficientemente ao outro. Se isso foi intencional, converta a expressão para 'desconhecido' primeiro." -> Você receberá esse erro se tentar digitar o número na string. Portanto, primeiro converta-o para desconhecido e depois para string.
fonte
Use o símbolo "+" para converter uma string em um número.
fonte
+
lança ao número