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