1. TypeScript 的基本类型

按照深入理解typescript
以及typescript再学习 整理

  1. string
  2. number
  3. boolean
  4. 数组 boolean[]
  5. 接口 interface
  6. 内联类型
  7. 特殊类型

string, number, boolean

let str: string;
let num: number;
let bool: boolean;

str = '123';
num = 123;
bool = true;

数组

使用后缀 [], 每个单类型数组中只可以存储单一类型。

let boolArray: boolean[];

boolArray = [true, false];
console.log(boolArray[0]); // true
console.log(boolArray.length); // 2

boolArray[1] = true;
boolArray = [false, false];

boolArray[0] = 'false'; // Error
boolArray = 'false'; // Error
boolArray = [true, 'false']; // Error

如何像js一样使用可以存储不同类型的的数组?

  1. tuple 元组 见下文
  2. 联合类型 使用 |

联合类型:
let array: (string|number)[] = [“123”, 123, “456”, “789”];

接口 Interface

typescript的核心。把多类型合并至一个类型声明。对基本类型类型和复杂类型的封装。

interface Name {
  first: string;
  second: string;
}

let name: Name;
name = {
  first: 'John',
  second: 'Doe'
};

name = {
  // Error: 'Second is missing'
  first: 'John'
};

name = {
  // Error: 'Second is the wrong type'
  first: 'John',
  second: 1337
};

内联类型

let name: {
first: string, 
second:string
} = {
first: "John", 
second: "Doe"};

特殊类型

any类型。
可以理解为 javascript 的所有类型。如果把typescript的所有类型都定义为any,就和javascript 一样 避开所有的类型检查。
any 可以 赋值给所有类型。也可以被所有类型赋值。

unknown类型。
any类型的type-safe版本。不可知类型。
任何类型都可以赋值给unknown,但是unknown需要做类型检查才能赋值给其他。

null 和 undefined。
在strictNullChecks: false 的情况下,null 和 undefined 字面量也可以赋值给任何类型。

void 表示函数没有返回值。

范型。

function reverse<T> (items: T[]) : T[]{
  const toreturn = [];
  for (let i = items.length - 1; i >= 0; i--) {
    toreturn.push(items[i]);
  }
  return toreturn;
}

交叉类型
T & U
包含类型T 和 U 的所有属性。

联合类型
T | U
类型 T 或者 类型 U

元组类型

let nameNumber: [string, number];
nameNumber = ["Jenny", 12345];
const [name, number] = nameNumber; //destructing

类型别名

type StrOrNum = string | number;
let sample: StrOrNum;
sample = 123;
sample = "123";

type Text = string | { text: string };
type Coordinates = [number, number];
type Callback = (data: string) => void;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值