"Кастинг" відрізняється від конверсії. У цьому випадку window.location.hash
буде автоматично перетворено число в рядок. Але щоб уникнути помилки компіляції TypeScript, ви можете зробити перетворення рядків самостійно:
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
.
Коли вам потрібно лише передати, а не конвертувати, це те, як передати рядок у TypeScript:
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).