2、分支语句
if(){}
if(){}else{}
if(){}else if(){}else{}
switch(grade){
case 'A':{}
}
3、函数声明
(1)有名函数
function add(x: number,y: number):number{
return x+y;
}
(2)匿名函数
let myAdd = function (x:number,y:number): number{
return x+y;
}
(3)函数可选参数
function fName(firstName: string, lastName?: string) {
if(lastName){
return firstName+" "+lastName;
} else {
return firstName;
}
}
let data1 = fName("Optimus");
let data2 = fName("Optimus" , "Prime");
(4)剩余参数(可变长参数)
function fName(firstName: string , ...laseName: string[]) {
return firstName + " " + lastName.join(' ');
}
let name1 = fName("流星");
let name2 = fName("流星","秦羽","侯费");
(5)箭头函数 =>
4、面向对象class
class Persion{
private name: string;
constructor(name: string) {
this.name = name;
}
public setName(name: string) {
this.name = name;
}
public getName(): string {
return name;
}
}
let persion1 = new Persion("Optimus");
console.log(persion1.getName());
(1)继承extends
5、模块
(1)import 模块导入
import { //资源名称 } from ‘//文件路径’;
(2)export 模块导出
可以导出的内容有变量、函数和类等。
6、迭代器
具有Symbol.iterator属性的类型的对象都可以被迭代。
(1)遍历元素
for(let elem of arrayName) {
console.log(elem);
}
(2)遍历下标
for(let i in arrayName){
console.log(in);
}
(3)可迭代的内置数据类型
Array
String
Map
Set
Arguments(在函数中使用)
// 1. Array
let iterableArray: Iterable<number> = [1, 2, 3];
for (let value of iterableArray) {
console.log(value);
}
// 2. String
let iterableString: Iterable<string> = "Hello";
for (let value of iterableString) {
console.log(value);
}
// 3. Map
let iterableMap: Iterable<[number, string]> = new Map([[1, 'One'], [2, 'Two']]);
for (let [key, value] of iterableMap) {
console.log(key, value);
}
// 4. Set
let iterableSet: Iterable<number> = new Set([1, 2, 3]);
for (let value of iterableSet) {
console.log(value);
}
// 5. Arguments
function printArgs(...args: IArguments) {
for (let arg of args) {
console.log(arg);
}
}
printArgs(1, 2, 3);