# TypeScript 2020-4-3 å¦ä¹ åæï¼ES6+JS 2012 å¹´ç±å¾®è½¯åå¸ï¼åºæ¯ï¼AngularãVueãReact TypeScript(ES6(ES5)),è¶ çº§ Javascript,å°è½»éçè¯æ³å¸¦å ¥ JS ä¸ï¼å¯¹ **éæç±»åãé¢å对象**æ¯æè¯å¥½ï¼å¯ä½¿ç¨ JS ä¹å¤ç**æ©å±è¯æ³**ï¼å©äºæå»º**å¥å£®çãå¯ç»´æ¤ç**大åé¡¹ç® ## 课ç¨å®æ 1.TS åºç¡è¯æ³ 2.ç¬è«åè½å¼å 3.TS è¯æ³è¿é¶ 4.é¡¹ç®æ¥å£å¼å 5.TS é«çº§è¯æ³ 6.项ç®ä»£ç éæ 7.项ç®å端å¼å 8.è¯¾ç¨æ»ç» ## 课ç¨ç¥è¯ç¹ éæç±»åãç±»åæ³¨è§£ãç±»åæ¨æãæ³åãç±»åå®ä¹æä»¶ã模ååãæå ç¼è¯ãè£ é¥°å¨ãMetadataã设计模å¼ã宿é®é¢ï¼node+react+express)⦠## è¯¾ç¨æ¶è· è¿é¶è³ä¸é«çº§å端工ç¨å¸ãåºå¯¹ä¼ä¸çº§å«ç TS 项ç®ã卿¡æ¶å±é¢ææ´æ·±ççè§£ãæ©å±ææ¯è§é ## ç¼è¾å¨ VSCode [Typescript å®ç½](https://www.typescriptlang.org/)TypeScript æ¯ JavaScript çç±»ååè¶ éï¼å¯ç¼è¯ä¸ºæ®é JavaScriptã ```Typescript let a = 123; a = '123'; // JS䏿¯å¨æç±»å let b: number = 123;//å®ä¹åébï¼ç±»åæ¯numberï¼åå§å¼æ¯123 b = '123'; æ¥éï¼Type '"123"' is not assignable to type 'number'Typescriptæ¯éæç±»å(åæ»ç) interface Person { name:string } const teacher:Person = { name:'bugtrap' } ``` ## ä¼å¿ 1.æ´å¥½çé误æç¤º 2.è¯æ³æç¤º 3.ç±»å声æï¼å¯è¯»æ§å¼º ```Typescript interface Point { x: number, y: number } function tsDemo(data: Point) { return Math.sqrt(data.x ** 2 + data.y ** 2); } tsDemo({ x: 1, y: 123 }); npm install typescript -g å ¨å±å®è£ typescript tsc xx.ts ç¼è¯ ts 为 js node xx.js æ§è¡ xx.js æä»¶ npm install -g ts-node å ¨å±å®è£ ts-node ts-node xx.ts å³å¯è¿è¡ ts æä»¶ //ç»æèµå¼ç±»å注解 function add({ num1, num2}:{ num1: number,num2: number}): number{ return num1+num2 } const total = add({ num1 :1, num2 : 2}) function getn({ n }: { n : number }):number{ return n } const n = getn({ n: 1}) //æ°ç» const arr: (number | string)[] = [1, '2', 3] const strArr: string[] = ['a', 'b', 'c'] const undefinedArr: undefined[] = [undefined] //type alias ç±»åå«å type User = { name: string; age: number } const objectArr: User[] = [ { name: 'bugtrap', age: 24, }, ] class Student { name: string age: number } const objectAr: Student[] = [ new Student(), { name: 'bugtrap', age: 24, }, ] //å ç» tuple csv,excel导åº... const studentInfo: [string, string, number] = ['bugtrap', 'male', 18] //CSV const studentList: [string, string, number][] = [ ['bugtrap', 'male', 18], ['Eass', 'male', 26], ['Jeff', 'female', 22], ] ``` 2-11