@TypeScript

链接 links - typescript
1. 文档 Docs
2. 演练场 Playground
数据类型 data type
1. 布尔 boolean
基本数据类型
布尔 boolean - true、false
let isDown: boolean = true;
2. 数值 number
基本数据类型
数值 number - 都是浮点数
let age: number = 24;
let age: number = 0b11000;
let age: number = 0o28;
let age: number = 0x18;        
3. 字符串 string
基本数据类型
字符串 string - 单引号、双引号
let name: string = 'cnplaman';
let name: string = "cnplaman";
4. 数组 Array
数组 - 基本数据类型[];Array[基本数据类型]
let list: string[] = ['cnplaman', 'glpla'];
let list: Array[string] = ["cnplaman", "glpla"];
let gender=['male','female',1,0]
5. 元组
数据类型不必相同
元组 - : []
let x: [string, number];
y = ['cnplaman', 24];//ok
x = [24, 'cnplaman'];//fail
6. 枚举 enume
数据类型不必相同
枚举 enume - {}
enume Color= {red, green, blue};
let c: Color = Color.red
7. 联合 Union Type
取值可以是多种类型中的一种
联合 Union Type
let gender: string | number;
gender = 'male'
gender = 1
8. 未知类型 unknown
仅仅声明,暂时还未定义其具体类型
9. 空值 null
10. 未定义 undefined
11. 空类型 void
没有返回值
void
function fn(): void {
  console.log('hi, there.');
}
语句 statement
条件语句
根据不同的条件true、false,执行不同的分支
if
if(age > 18){
  console.log('adult');
}
if-else
if(age > 18){
  console.log('adult');
}else{
  console.log('teenager')
}
if-else if
if(age > 18){
  console.log('adult');
}else if(age > 24){
  console.log('grownup')
}else{
  console.log('teenager')
}
switch-case
测试某个变量是否大于某个值
分支语句多条时,应使用{}
应指定默认分支default
switch-case
switch(gender){
  'male':
    console.log('you are male');
    break;
  'female':
    console.log('you are female');
    break;
  default:
    console.log('not for sure');
    break;
}
函数 function
函数名称 返回类型 参数
有名字的函数、匿名函数
参数使用?修饰,表示该参数可选
参数使用...修饰,表示该参数个数不限,可以任意数量
箭头函数:匿名函数的简写;更加简洁、高效
有名字的函数
function sum(x:number, y:number): number {
  return x + y;
}
匿名函数 - 多见于函数表达式
let sum = function(x:number, y:number): number {
  return x + y;
}
箭头函数
let sum = (x:number, y:number) => x + y;
类 class
定义 definition
继承 extends
super()
模块 module
概述 overview
一个模块中的数据 - 变量、函数,想要提供给其他模块使用,必须导出export该数据
一个模块想要使用其他模块导出的数据,必须使用import导入
导出 export
导入 import
迭代器 iterator
字符串、数组等集合类的数据都可以迭代
for-of
遍历数组元素
for-of
let gender=['male','female',1,0]
for(let item of gender){
    console.log(item)
}
for-in
遍历数组下标
for-in
let gender=['male','female',1,0]
for(let ind in gender){
    console.log(ind)
}
//"0","1","2","3"