typescript

31
TYPESCRIPT Larry Nung

Upload: larry-nung

Post on 13-Jan-2017

145 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Typescript

TYPESCRIPTLarry Nung

Page 2: Typescript

AGENDAIntroductionInstallionTypesConstFunctionClassGenericsInterfaceReferenceQ & A

Page 3: Typescript

INTRODUCTION

Page 4: Typescript

INTRODUCTION

Page 5: Typescript

INSTALL

Page 6: Typescript

INSTALL Visual Studio 2013

TypeScript 1.5 for Visual Studio 2013   Visual Studio 2015

Pre-installed NPM

npm install -g typescript

Page 7: Typescript

TYPES

Page 8: Typescript

TYPES

Types

Boolean

Number

String

ArrayEnum

Any

Void

Page 9: Typescript

TYPES var variableName: Type;

var booleanVariable: boolean; var variableName: number; var variableName: string; var variableName: number[]; var variableName: Array<number>; var variableName: any;

function functionName(): void {…}

Page 10: Typescript

TYPES enum enumName{element1 = 1, element2,

element3}; var enumValue: enumName = enumName.

element1; var enumName: enumName = enumName[2];

Page 11: Typescript

TYPESenum Color {Red, Green, Blue};

var name:string = Color[2]; var value:number = Color.Green;

alert(name); alert(value);

Page 12: Typescript

CONST

Page 13: Typescript

CONSTconst buffer:number = 512;

Page 14: Typescript

FUNCTION

Page 15: Typescript

FUNCTIONfunction add(x: number, y: number):

number { return x+y;

}

var myAdd = function(x: number, y: number): number { return x+y; };

Page 16: Typescript

OPTIONAL PARAMETERSfunction buildName(firstName: string, lastName?:

string) { if (lastName) return firstName + " " + lastName; else return firstName;

}

var result1 = buildName("Bob"); //works correctly now var result2 = buildName("Bob", "Adams", "Sr.");

//error, too many parameters var result3 = buildName("Bob", "Adams"); //ah, just

right

Page 17: Typescript

DEFAULT PARAMETERSfunction buildName(firstName: string,

lastName = "Smith") { return firstName + " " + lastName;

}

var result1 = buildName("Bob"); //works correctly now, also

var result2 = buildName("Bob", "Adams", "Sr."); //error, too many parameters

var result3 = buildName("Bob", "Adams"); //ah, just right

Page 18: Typescript

REST PARAMETERSfunction buildName(firstName:

string, ...restOfName: string[]) { return firstName + " " + restOfName.join(" ");

} var buildNameFun: (fname: string, ...rest:

string[])=>string = buildName;

Page 19: Typescript

LAMBDAvar add = (x, y) => x+y; alert(add(10, 5));

Page 20: Typescript

CLASS

Page 21: Typescript

CLASSclass Person {

name: string; age: number; constructor(name: string, age:number) { this.name = name; this.age = age; } SayHello():string { return "Hello~I'm " + this.name; }

} var p = new Person("Larry Nung", 35); alert(p.SayHello());

Page 22: Typescript

CLASSclass Person {

private _name: string; private _age: number;

get name():string{ return this._name; } set name(value:string){ this._name = value; } get age():number{ return this._age; } set age(value:number){ this._age = value; }

constructor(name: string, age:number) { this.name = name; this.age = age; } SayHello():string { return "Hello~I'm " + this.name; }

} var p = new Person("Larry Nung", 35); alert(p.SayHello());

Page 23: Typescript

CLASSclass Person {

name: string; age: number; constructor(name: string, age:number) {this.name = name; this.age = age; } SayHello():string { return "Hello~I'm " + this.name; }

} class Larry extends Person {

constructor() { super("Larry Nung", 35); }

} var p = new Larry(); alert(p.SayHello());

Page 24: Typescript

GENERICS

Page 25: Typescript

GENERICSfunction ShowMessage<T>(message:T) {

alert(message); }

ShowMessage<string>("test"); ShowMessage<number>(123);

Page 26: Typescript

INTERFACE

Page 27: Typescript

INTERFACEinterface IHelloable {

enableIntroduce: boolean; SayHello():string;

} class Person implements IHelloable {

enableIntroduce: boolean; private name:string; constructor(name:string, enableIntroduce:boolean) { this.name = name; this.enableIntroduce = enableIntroduce; } SayHello():string { if(this.enableIntroduce) return "Hello~I'm " + this.name; else return "Hello"; }

} var p = new Person("LarryNung", false); alert(p.SayHello());

Page 28: Typescript

REFERENCE

Page 29: Typescript

REFERENCE Welcome to TypeScript

http://www.typescriptlang.org/ TypeScript - 維基百科,自由的百科全書

https://zh.wikipedia.org/wiki/TypeScript TypeScript - Wikipedia, the free encyclopedia

https://en.wikipedia.org/wiki/TypeScript

Page 30: Typescript

Q&A30

Page 31: Typescript

QUESTION & ANSWER

31