TypeScript學(xué)習(xí)之強(qiáng)制類型的轉(zhuǎn)換
前言
使用強(qiáng)類型變量常常需要從一種類型向另一種類型轉(zhuǎn)換,通常使用ToString或ParseInt可以來(lái)實(shí)現(xiàn)一些簡(jiǎn)單的轉(zhuǎn)換,但是有時(shí)候需要像.NET語(yǔ)言中那樣將一種類型顯示的轉(zhuǎn)換為另一種類型,在TypeScript規(guī)范中,被稱為"類型斷言",它仍然是類型轉(zhuǎn)換,只是語(yǔ)法是有些不同。下面來(lái)詳細(xì)看看TypeScript的強(qiáng)制類型轉(zhuǎn)換。
TypeScript強(qiáng)制類型轉(zhuǎn)換
在 TypeScript 中將一個(gè) number 轉(zhuǎn)換成 string ,這樣做會(huì)報(bào)錯(cuò):
var a:number = 12345; var b:string = <string> a; // laygroundSingle.ts(24,18): error TS2352: Neither type 'number' nor type 'string' is assignable to the other.
這樣寫(xiě)雖然不會(huì)報(bào)錯(cuò),但沒(méi)有什么卵用:
var a:number = 12345; var b:string = <string><any> a; console.log(typeof b) // "number" PlaygroundSingle.js:19:1
還是直接用 javascript 的方法比較靠譜:
var b:string = String(a); // or var b:string = a.toString();
注意 new String() 和 String() 的區(qū)別:
var a:number = 12345;
// 使用 new 的時(shí)候類型必須是 String 而非 string ,否則無(wú)法編譯通過(guò)
var b:String = new String(a);
// 不使用 new 則無(wú)所謂
var c:string = String(a);
console.log(a);
console.log('--------b');
console.log(typeof b);
console.log(b);
console.log(b.length);
console.log('--------c');
console.log(typeof c);
console.log(c);
console.log(c.length);
結(jié)果如下:
12345 PlaygroundSingle.js:22:9 “——–b” PlaygroundSingle.js:23:9 “object” PlaygroundSingle.js:24:1 String [ “1”, “2”, “3”, “4”, “5” ] PlaygroundSingle.js:25:9 5 PlaygroundSingle.js:26:9 “——–c” PlaygroundSingle.js:27:9 “string” PlaygroundSingle.js:28:1 “12345” PlaygroundSingle.js:29:9 5
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
- TypeScript快速學(xué)習(xí)入門(mén)基礎(chǔ)語(yǔ)法
- TypeScript學(xué)習(xí)輕松玩轉(zhuǎn)類型操作
- 深入學(xué)習(xí)TypeScript 、React、 Redux和Ant-Design的最佳實(shí)踐
- TypeScript 學(xué)習(xí)筆記之基本類型
- Typescript是必須要學(xué)習(xí)嗎?如何學(xué)習(xí)TS全棧開(kāi)發(fā)
- TypeScript?學(xué)習(xí)筆記之?typeScript類定義,類的繼承,類成員修飾符
- TypeScript學(xué)習(xí)筆記中的的基本概念和用法
相關(guān)文章
如何利用JavaScript編寫(xiě)一個(gè)格斗小游戲
這篇文章主要給大家介紹了關(guān)于如何利用JavaScript編寫(xiě)一個(gè)格斗小游戲,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
簡(jiǎn)單實(shí)現(xiàn)節(jié)流函數(shù)和防抖函數(shù)過(guò)程解析
這篇文章主要介紹了簡(jiǎn)單實(shí)現(xiàn)節(jié)流函數(shù)和防抖函數(shù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
Three.js后期處理效果(發(fā)光描邊OutlinePass)
這篇文章主要給大家介紹了關(guān)于Three.js后期處理效果(發(fā)光描邊OutlinePass)的相關(guān)資料,Three js 開(kāi)發(fā)的一些知識(shí)整理,方便后期遇到類似的問(wèn)題,能夠及時(shí)查閱使用,需要的朋友可以參考下2024-01-01
在javascript中使用com組件的簡(jiǎn)單實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇在javascript中使用com組件的簡(jiǎn)單實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,祝大家游戲愉快哦2016-08-08
JS獲取當(dāng)前時(shí)間戳與時(shí)間戳轉(zhuǎn)日期時(shí)間格式問(wèn)題
這篇文章主要介紹了JS獲取當(dāng)前時(shí)間戳與時(shí)間戳轉(zhuǎn)日期時(shí)間格式,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01
JavaScript常見(jiàn)事件對(duì)象與操作實(shí)例總結(jié)
這篇文章主要介紹了JavaScript常見(jiàn)事件對(duì)象與操作,結(jié)合實(shí)例形式總結(jié)分析了javascript針對(duì)DOM、IE及跨瀏覽器事件對(duì)象的相關(guān)操作技巧,需要的朋友可以參考下2019-01-01

