TypeScript學習筆記(完成)

2021-08-18 11:10:29 字數 3326 閱讀 7836

$ cnpm install -g typescript
$ cd your file_path

$ tsc file_name.ts

let a:number = 1; //ok

let a:string = 1; //error

型別檢測的語法,就是在變數屁股後面綴上 :型別

let arr:number=[1,2,3];   //ok   型別+

let brr:array

=[4,5,6]; //ok 陣列泛型+尖括號< 型別 >

let x:[number,string];

x=[1,'hello']; //ok

x=[1,2]; //type error

元組型別適用於已知個數和元素型別的陣列。

let hi= (`

hello,

wrold!

`);//輸出 hello,world!

let names:string = 'xiaoming';

let age:number = 23;

let sentence:string = (`

hello,my name is $,my age is $

`);

var names = 'xiaoming';

var age = 23;

var sentence = ("\nhello,my name is " + names + ",my age is " + age + "\n");

document.body.innerhtml = sentence;

enum

flower ; //enum關鍵字,後跟列舉型別的命名

let rouse:flower = flower.a; //定義乙個rouse,型別是剛才定義的列舉型別flower其中的a屬性

alert(rouse); // 0 表明rouse對映的物件,在flower中的index為0

array:

let arr:number=[1,2,3]; // ok

數字的組合,可不就是陣列嗎?

字串組、布林值組...

let brr:string = ['a','b','c'];

let crr:boolean = [true,false];

any:

let drr:any=[1,'2',true]; // ok

只知道是個類似於陣列的資料型別,但是對元素的型別不做限制。

//注意函式返回值型別檢測的寫法

function

foo()

:void;

let a:number =1; 

let b:any = a ; //賦值

const a = 1 ;

const a = 2 ; //error

function

test(a:string,b?:string,c="wang")

a為string型別,b為可選引數(string型別),c是有預設值的引數

function* foo

();/*設定斷點以後,並不能直接foo.next(),因為其內部沒有next方法。

*必須重新賦值,再呼叫。

*/let zoo = foo();

//這裡有三個斷點,簡單的可以理解為,把函式的執行流程劃分為三個階段,每次的呼叫,只是執行其中的乙個階段。

zoo.next();//1

zoo.next();//2

zoo.next();//3

var sum = (a,b)=>a+b

上式等價於:

var sum = function

(a,b);

function

getname

(name) ,1000)

};var john = new getname('jhon');

console.log(john) // 列印 name is (空)

function getname (name) ;

varjohn = new

getname

('jhon');

console.log

(john) // 列印 name

isjhon

var arr = [1, 2, 3, 4];

arr.name = 'myarr';

for (var n in arr)

//輸出0=1,1=2,2=3,3=4,name=myarr

var arr = [1, 2, 3, 4];

arr.name = 'myarr';

for (var n of arr)

//輸出0=1,1=2,2=3,3=4,undefind

//還可以迴圈字串

var arr ='hello,world!'

for (var n of arr)

//h,e,l,l,o,,w,o,r,l,d,!;

var arr = [1, 2, 3, 4];

arr.name = 'myarr';

arr.foreach(function

(n,v) )

//輸出1,2,3,4,但是沒有輸出我們定義的name

//形如:

constructor

();

真的比基於原型鏈的繼承更加優雅和簡便。 

Typescript學習筆記

物件導向特性 類類的宣告 用class關鍵字 加類名 class person 類宣告完之後就可以被例項化了,類相當於乙個模子.name string eat var p1 new person p1.name batman p1.eat var p2 new person p2.name supe...

typescript學習筆記

1,ts是js的超集,ts是強型別語言。ts比js入門更難。ts的物件導向寫法比js更優雅。ts更適合團隊協作。2,宣告變數篇。3,宣告函式篇。4,物件導向篇。4.1,子類繼承父類 extends 繼承多個介面 implements。4.2,this表示當前物件,super表示父類物件。子類不寫co...

TypeScript 學習筆記1

inte ces typescript 的 type checking 專注於值的 shape inte ces的作用在於命名值使其便於檢測,同時作為軟體與軟體 軟體內部交流的工具。用於檢測,編譯成js的話沒有相應的語句 ts inte ce squareconfig function creats...