这是最好的方式(如果有一个)从数字转换到字符串在Typescript?

var page_number:number = 3;
window.location.hash = page_number; 

在这种情况下,编译器抛出错误:

类型'number'不能赋值给类型'string'

因为位置。哈希是一个字符串。

window.location.hash = ""+page_number; //casting using "" literal
window.location.hash = String(number); //casting creating using the String() function

那么哪种方法更好呢?


当前回答

只需使用:page_number?.toString()

其他回答

简单的方法:

是 num = 3;var str ='${num}';

使用toString()或toLocaleString(),例如:

var page_number:number = 3;
window.location.hash = page_number.toLocaleString();

如果page_number为空或未定义,则抛出错误。如果你不想这样,你可以选择适合你的情况的修复:

// Fix 1:
window.location.hash = (page_number || 1).toLocaleString();

// Fix 2a:
window.location.hash = !page_number ? "1" page_number.toLocaleString();

// Fix 2b (allows page_number to be zero):
window.location.hash = (page_number !== 0 && !page_number) ? "1" page_number.toLocaleString();

只需使用:page_number?.toString()

这是一条很短的路

any_type = "" + any_type; 
any_type = String(any_type); 
any_type = `${any_type}`;

Const page_number = 3; Window.location.hash = page_number作为字符串;/ /错误

“将类型‘数字’转换为类型‘字符串’可能是错误的,因为两种类型都没有充分重叠。如果这是故意的,请先将表达式转换为‘未知’。”如果你试图将数字类型转换为字符串,你会得到这个错误。首先转换为unknown,然后转换为string。

Window.location.hash = (page_number as unknown) as string;//正确方式