'캐스팅'은 전환과 다릅니다. 이 경우 window.location.hash숫자를 문자열로 자동 변환합니다. 그러나 TypeScript 컴파일 오류를 피하기 위해 문자열 변환을 직접 수행 할 수 있습니다.
window.location.hash = ""+page_number;
window.location.hash = String(page_number);
page_numberis 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를 선호합니다).