var myName:string = "張三";
myName = 13; // 當從新給 myName 賦值的時候,若是值的類型與開始指定的類型不符, IDE 會進行類型檢查,從而提示錯誤
var firstName = "李四";
firstName = 13; // 與上面相同,不一樣的是, firstName 雖然沒有指定類型,可是 IDE 會進行類型推斷(從第一給這個變量賦值的地方開始,自動推斷變量類型),從而提示錯誤
var str:any = "張三";
str = 13; // IDE 不會提示錯誤, any 類型表示能夠是任何類型
function hello(): void {
return "hello"; // 當聲明瞭該方法的返回值爲(:void)時,若是有 return(返回值), IDE 會提示錯誤
}
function myName() :string {
return "張三"; // 聲明瞭返回值爲 string 類型,表示該方法必須有返回值,並且返回值的類型必須是 string 類型,不然 IDE 會提示錯誤
}
function hello(name:string, age:number) {
console.log(name);
console.log(age);
}
hello("張三", 18); // 當方法的參數也有聲明類型的時候,在方法調用的時候,也必須按照指定類型傳參,不然 IDE 會提示錯誤
class Person { // 在 typescript 裏面,能夠經過 class 或接口,來本身聲明本身自定義的類型
name: string;
age: number;
}
var someone: Person = new Person(); // 定義 someone 的類型爲 Person 類型
someone.name = "張三"; // 屬性的類型也必須是 someone 內預先定義好的類型,不然 IDE 會提示錯誤
someone.age = 13;
function print (a: string, b: number, c: boolean = false) { // 重點:帶默認值的參數必定要聲明在最後面 console.log(a); console.log(b); console.log(c);}print("張三", 13, true); // 假設三個參數都沒有默認值,方法調用時,必須傳指定個數的參數,不然 IDE 會提示錯誤print("張三", 13); // 當第三個參數有默認值的時候,可傳,可不傳。