基本類型javascript
一、boolean
java
let isDone: boolean = false;
二、number編程
let decLiteral: number = 6; //十進制 let hexLiteral: number = 0xf00d; //十六進制 let binaryLiteral: number = 0b1010; //二進制 let octalLiteral: number = 0o744; //八進制
三、string數組
可使用雙引號("
)或單引號('
)表示字符串。spa
let name: string = "bob"; name = "smith";
還可使用模版字符串,它能夠定義多行文本和內嵌表達式。 這種字符串是被反引號包圍(`
),而且以${ expr }
這種形式嵌入表達式code
let name: string = `Gene`; let age: number = 37; let sentence: string = `Hello, my name is ${ name }. I'll be ${ age + 1 } years old next month.`;
等同於:blog
let sentence: string = "Hello, my name is " + name + ".\n\n" + "I'll be " + (age + 1) + " years old next month.";
四、數組索引
兩種方式能夠定義數組。 第一種,能夠在元素類型後面接上[]
,表示由此類型元素組成的一個數組ip
let list: number[] = [1,2,3];
第二種方式是使用數組泛型,Array<元素類型> :字符串
let list: number[] = [1,2,3];
五、元組 Tuple
容許表示一個已知元素數量和類型的數組,各元素的類型沒必要相同。好比你能夠定義一對值分別爲 string 和 number 類型的元組。
let x: [string, number]; // Initialize it x = ['hello', 10]; // OK // Initialize it incorrectly x = [10, 'hello']; // Error
當訪問一個已知索引的元素,會獲得正確的類型:
console.log(x[0].substr(1)); // OK console.log(x[1].substr(1)); // Error, 'number' does not have 'substr'
當訪問一個越界的元素,會使用聯合類型替代:
x[3] = 'world'; // OK, 字符串能夠賦值給(string | number)類型 console.log(x[5].toString()); // OK, 'string' 和 'number' 都有 toString x[6] = true; // Error, 布爾不是(string | number)類型
六、enum 枚舉
enum Color {Red, Green, Blue} let c: Color = Color.Green;
默認狀況下,從0
開始爲元素編號。 你也能夠手動的指定成員的數值。 例如,咱們將上面的例子改爲從1
開始編號:
enum Color {Red = 1, Green, Blue} let c: Color = Color.Green;
或者,所有都採用手動賦值:
enum Color {Red = 1, Green = 2, Blue = 4} let c: Color = Color.Green;
枚舉類型提供的一個便利是你能夠由枚舉的值獲得它的名字。
enum Color {Red = 1, Green, Blue} let colorName: string = Color[2]; alert(colorName); // 顯示'Green'由於上面代碼裏它的值是2
七、any 任意值
有時候會想要爲那些在編程階段還不清楚類型的變量指定一個類型,咱們不但願類型檢查器對這些值進行檢查而是直接讓它們經過編譯階段的檢查。 那麼咱們可使用any
類型來標記這些變量。
let notSure: any = 4; notSure = "maybe a string instead"; notSure = false; // okay, definitely a boolean
當你只知道一部分數據的類型時,any
類型也是有用的。 好比,你有一個數組,它包含了不一樣的類型的數據
let list: any[] = [1, true, "free"]; list[1] = 100;
八、空值
function warnUser(): void { alert("This is my warning message"); }
聲明一個void
類型的變量沒有什麼大用,由於你只能爲它賦予undefined
和null
let unusable: void = undefined;