TypeScript之基本數據類型

前言

最近項目很急,因此沒有什麼時間回答關於Xamarin.Android方面的問題,也有一段時間沒有更新。主要是手頭很缺人,若是有誰有興趣
加入咱們的話,能夠私聊我,這樣我就能繼續造福社區了,同時還有不少的好的庫我也能夠開源(兼容MvvmCross)。下面就我學習TypeScript。javascript

 

工具

你們能夠使用VS2013/2015,VS2012能夠安裝對應的插件,咱們直接新建(帶TypeScript的HTML應用程序),並在app.ts中進行開發,
若是讀者想查看對應生成的js代碼能夠到項目目錄下查看(建議不要把app.js添加到項目,由於那是自動生成的)。java

 

基本數據類型

TypeScript不一樣於javascript這門弱類型語言,提供了經常使用的數據類型,這樣咱們能夠編寫的時候提供類型檢查,這樣咱們在編寫的時候能夠看成強類型語言那樣,能夠避免不少在運行時才能發現的問題。下面咱們就學習TypeScript中的數據類型。數組

 

Boolean

做爲最簡單的但也是最經常使用的就是布爾類型了,只有true和false這兩種值,經過下面這段代碼咱們能夠看到TypeScript不一樣於C#的(bool isDone = false)
這種形式,而是先經過var定義變量,而後在變量後跟上冒號,冒號後面纔是真正的類型。若是讀者嘗試賦給他其餘類型變量能夠發現進行了類型檢查,而也
是做爲TypeScript帶給咱們的好處之一(你們放心咱們依然能夠使用到原汁原味的javascript下的var)app

 

--TypeScript:函數

var isDone : boolean = false;

 

 

--JavaScript工具

var isDone = false;

 

Number

在TypeScript全部的數值都是單精度數值,不存在整數或者其餘類型,只有Number。使用慣其餘的語言的讀者不要苦苦尋覓int,uint,long類型了。學習

 

--TypeScriptui

var height : number = 6;
height = 3.545;
height = -40;

 

 

--JavaScriptspa

var height = 6;
height = 3.545;
height = -40;

 

 

String

跟其餘的語言同樣在TypeScript中對應的字符串類型也是String,而咱們能夠經過("")雙引號或者('')單引號將字符串值括起來。插件

 

--TypeScript

var name : string = "TypeScript";
name = 'JavaScript';

 

 

--JavaScript

var name = "TypeScript";
name = 'JavaScript';

 

 

Array

在TypeScript中你能夠跟在JavaScript中同樣使用數組,在TypeScript中有兩種定義數組的方式,其中一個方式就在類型後面跟上([])方括號。

 

--TypeScript

var list: number[] = [5, 6, 8];

 

 

--JavaScript

var list = [5, 6, 8];

 

 

另外一種方式就是利用Array類型,將類型做爲泛型參數傳入。

 

--TypeScript

var list2: Array<number> = [5, 6, 8];

 

 

--JavaScript

var list2 = [5, 6, 8];

 

 

Enum

相對JavaScript,TypeScript增長了一個有用的基礎數據類型,就是枚舉。咱們能夠利用更友好的方式替代純數字。

 

--TypeScript

enum Color {
    Red,
    Green,
    Blue
};

var c: Color = Color.Red;

 

 

--JavaScript

var Color;
(function (Color) {
    Color[Color["Red"] = 0] = "Red";
    Color[Color["Green"] = 1] = "Green";
    Color[Color["Blue"] = 2] = "Blue";
})(Color || (Color = {}));

var c = 0 /* Red */;

 

 

咱們能夠看到枚舉默認是從0開始順序遞增的,有過C#基礎的人確定知道能夠修改第一個枚舉的值從而
讓後面的枚舉值基礎這個值進行遞增,好比下面這個寫法:

 

--TypeScript

enum Color {
    Red = 1,
    Green,
    Blue
};

var c: Color = Color.Green;

 

 

--JavaScript

var Color;
(function (Color) {
    Color[Color["Red"] = 1] = "Red";
    Color[Color["Green"] = 2] = "Green";
    Color[Color["Blue"] = 3] = "Blue";
})(Color || (Color = {}));

var c = 2 /* Green */;

 

 

除此以外咱們也能夠指定每一個枚舉的值,好比下面這樣。

 

--TypeScript

enum Color {
    Red = 1,
    Green = 2,
    Blue = 4
};

var c: Color = Color.Green;

 

 

--JavaScript

var Color;
(function (Color) {
    Color[Color["Red"] = 1] = "Red";
    Color[Color["Green"] = 2] = "Green";
    Color[Color["Blue"] = 4] = "Blue";
})(Color || (Color = {}));

var c = 2 /* Green */;

 

 

不少時候咱們須要獲取枚舉的字符串形式,而TypeScript不一樣於C#直接使用ToString方法就能夠,
而是須要經過其餘方式來獲取,好比下面這樣。

 

--TypeScript

var c: Color = Color.Green;
var s: string = Color[c];

 

 

--JavaScript

var c = 2 /* Green */;
var s = Color[c];

 

 

Any

雖然咱們使用了TypeScript,得到了類型檢查。可是許多第三方庫中的變量不會做爲單一類型的值來使用,
爲此TypeScript提供了另外一種類型,會跳過編譯檢查,可是咱們爲此就會失去類型檢查。

 

--TypeScript

var notSure: any = 4;
notSure = "maybe a string instead";
notSure = false;

var notSureList: any[] = [1, "fa", false];
notSureList[0] = "das";

 

 

--JavaScript

var notSure = 4;
notSure = "maybe a string instead";
notSure = false;

var notSureList = [1, "fa", false];
notSureList[0] = "das";

 

 

Void

通常這種類型都是用在函數的返回值上,表示該函數沒有返回值好比下面這樣。

 

--TypeScript

function warnUser(): void {
    alert("This is my warning message.");
}

 

 

--JavaScript

function warnUser() {
    alert("This is my warning message.");
}
相關文章
相關標籤/搜索