TypeScript學(xué)習(xí)之強(qiáng)制類(lèi)型的轉(zhuǎn)換
前言
使用強(qiáng)類(lèi)型變量常常需要從一種類(lèi)型向另一種類(lèi)型轉(zhuǎn)換,通常使用ToString或ParseInt可以來(lái)實(shí)現(xiàn)一些簡(jiǎn)單的轉(zhuǎn)換,但是有時(shí)候需要像.NET語(yǔ)言中那樣將一種類(lèi)型顯示的轉(zhuǎn)換為另一種類(lèi)型,在TypeScript規(guī)范中,被稱(chēng)為"類(lèi)型斷言",它仍然是類(lèi)型轉(zhuǎn)換,只是語(yǔ)法是有些不同。下面來(lái)詳細(xì)看看TypeScript的強(qiáng)制類(lèi)型轉(zhuǎn)換。
TypeScript強(qiáng)制類(lèi)型轉(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í)候類(lèi)型必須是 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)大家可以留言交流。
- 直觀詳細(xì)的typescript隱式類(lèi)型轉(zhuǎn)換圖文詳解
- TypeScript類(lèi)型使用示例剖析
- TypeScript類(lèi)型實(shí)現(xiàn)加減乘除詳解
- 自動(dòng)生成typescript類(lèi)型聲明工具實(shí)現(xiàn)詳解
- TypeScript中的遞歸類(lèi)型示例解析
- TypeScript實(shí)現(xiàn)類(lèi)型安全的EventEmitter
- TypeScript?類(lèi)型級(jí)別示例介紹
- TypeScript類(lèi)型級(jí)別和值級(jí)別示例詳解
- Typescript?轉(zhuǎn)換類(lèi)型操作索引映射類(lèi)型IIMT模式學(xué)習(xí)
相關(guān)文章
JavaScript觀察者模式(publish/subscribe)原理與實(shí)現(xiàn)方法
這篇文章主要介紹了JavaScript觀察者模式(publish/subscribe)原理與實(shí)現(xiàn)方法,簡(jiǎn)單分析了javascript觀察者模式的原理、功能并結(jié)合實(shí)例形式給出了觀察者模式的實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-03-03
JS集合set類(lèi)的實(shí)現(xiàn)與使用方法示例
這篇文章主要介紹了JS集合set類(lèi)的實(shí)現(xiàn)與使用方法,結(jié)合具體實(shí)例形式分析了javascript集合的創(chuàng)建、元素添加、刪除以及并集、交集、補(bǔ)集等運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2019-02-02
js將當(dāng)前時(shí)間格式轉(zhuǎn)換成時(shí)間搓(自寫(xiě))
將時(shí)間轉(zhuǎn)換成時(shí)間搓的方法有很多,在本文為大家介紹下使用js將當(dāng)前時(shí)間轉(zhuǎn)換成時(shí)間搓 例如2013-09-11 12:12:12,感興趣的朋友可以參考下2013-09-09
AutoJs4.4.1免費(fèi)版快速接通vscode調(diào)試腳本的操作方法
這篇文章主要介紹了AutoJs4.4.1免費(fèi)版快速接通vscode進(jìn)行調(diào)試腳本,首先下載AutoJs并安裝,下載完成后,將2個(gè)apk文件拷貝到手機(jī)安裝即可,接下來(lái)需要安裝插件,本文分步驟給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
JavaScript中附件預(yù)覽功能實(shí)現(xiàn)詳解(推薦)
這篇文章主要介紹了JavaScript中附件預(yù)覽功能的實(shí)現(xiàn),具體操作步驟大家可查看下文詳細(xì)講解,感興趣的小伙伴們可以參考一下。2017-08-08
JavaScript 隱性類(lèi)型轉(zhuǎn)換步驟淺析
隱性類(lèi)型轉(zhuǎn)換,是==引起的轉(zhuǎn)換,下面通過(guò)本文給大家分享JavaScript 隱性類(lèi)型轉(zhuǎn)換步驟,感興趣的朋友一起看看吧2018-03-03

