在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
当let声明一个变量的时候它使用的词法作用域或者是块作用域。块作用域指的就是他们包含的块以外的不能访问。 const声明:是let声明有相同的作用域规则,但是它被赋值后不能再被改变。类似于java的final TypeScript 可以用 `` 来声明多行字符串,编译之后js文件换行的地方会加上\n 在` ` 里面可以用 ${xxx变量/方法} 这种格式加入变量或方法,称为字符串模板.感觉就像普通语言中的print函数一样 TypeScript引入了类型的概念,如 var name: string = "haha"; 变量名name后面跟冒号后面加上变量类型,如果再把name赋一个 方法之后也可以跟返回值的类型, 如 function test() : string { return:";" } 那么只能返回string类型. 可以自定义数据类型,用 class关键字 ,如 class Person {name: string; age: number;} 就声明了一个一个Person类,里面有 函数可选参数如:function test(a = "haha": string, b?: string) : void {} b后面加?表示可选参数,a是有默认值的参数, 可以用 function test(...args) 这种方法给函数传不定长参数,args是一个数组. ES6 支持 yield 需要在函数声明之后加上* , 如 function* test(){ }, 里面在返回处用 yield关键字,如果 yield后面有语句 析构表达式,如,一个函数返回一个对象 {name:"haha", age:18} ,那么可以这样接收 var {name, age} = 函数(); 析构表达式如果想要接收数组,那么可以这样: var [num1, num2, ...args] = array1; 表示 num1变量接收 array1[0] 的值, 箭头表达式,类似于lambda表达式,是用js匿名函数实现的, 如 var sum = (num1=123, num2=321) => num1 + num2;执行sum(),就会 for (var n of array1) { } 新的循环方式:for of 会忽略掉数组的属性,并且循环取到的n是数组里面的值.还可以循环字符串. 类的访问控制符有三个 public private protected,默认是public 类的构造方法: constructor(public name:string){ } 声明构造方法,同时声明一个name属性,在实例化的时候可以直接赋值.注意, TypeScript也有泛型的概念,如: var array1: Array<Person> = []; 这个数组里面只能存放Person类和它的子类. 接口的定义: interface Animal { eat(); } 可以作为方法的参数类型,也可以用类 implements 实现这个接口. export 对外开放的东西,加了export修饰符,那么别的文件就可以 import { xxx } from "./xxxx" 导入. 类型定义文件以 .d.ts结尾,如想用jquery库,可以下载一个jquery的类型定义文件,就可以在ts文件中使用jquery. |
请发表评论