TypeScript安装与基本类型

58 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情

typescript

全局安装Typescript

npm install -g typescript

检查是否成功

tsc -v

 

vscode自动编译

1.生成配置文件 tsconfig.json

tsc --init

2.修改tsconfig.json配置

"outDir": "./js"

'strict': false,

3.启动监视任务

终端 ->运行任务 -> 监视tsconfig.json文件

 

类型注解

function getList(id: string) {

return id;

}

console.log(getList('111'));

 

接口

interface User {

name: string,

age: number

}

 

function getUser(user: User) {

return user.name + user.age

}

 

let user = {

name: 'zs',

age: 16

}

 

console.log(getUser(user));

 

TypeScript里的类只是一个语法糖,本质还是Javascript函数的实现

 

webpack打包TS

npm install -D typescript webpack webpack-cli webpack-dev-server html-webpack-plugin clean-webpack-plugin ts-loader cross-env

  rules: [

{

test: /.tsx?$/,

use: 'ts-loader',

include: [reslolve('src')]

}

]

 

配置打包的命令

"dev": "cross-env NODE_ENV=development webpack-dev-server --config build/webpack.config.js"

"build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"

 

基础类型

//布尔值

let isDone: boolean = false;

 

//数字

let a1: number = 10;

 

//字符串

let name: string = 'zs';

//undefined和null

let u: undefined = undefined;

let n: null = null;

默认情况下null和undefined是所有类型的子类型

 

//数组

  1. let arr: number[] = [1,2,3]; //元素后面加上[]
  2. let arr1: Array = [2,3,4]; //使用数组泛型

//元祖i 元祖类型允许表示一个已知元素数量和类型的数组,各个元素的类型可以不相同

let t1: [string, number]

t1 = ['zs', 20]

//访问一个已知索引的元素,会得到正确的类型

console.log(t1[0].substring(1))

 

//枚举 enum类型 对javascript标准数据类型的补充

enum Age {

10,

20,

30

}

//枚举的值从0开始

let age: Age = Age.10 //0

let age: number = Age[2] //20

 

//any 不清楚类型的变量指定一个类型, 可以使用any标记

let sure: any = 4;

数组中不知道类型时也可以使用any

let list: any[] = [1, true, 'zs']

 

//void类型

当一个函数没有返回值时,通常会使用void类型

//表示没有任何类型,表示不能是undefined和null之外的值

function fn() :void {

}

声明的变量,只能为undefined 和null

let str: void = undefined

 

//object类型

表示非原始的类型

除了number, string 与boolean之外的类型

Object.create