Typescript学习记录(一)

145 阅读3分钟

文章描述

记录学习Typescript的一些知识点,增加自己的印象

Typescript是Javascript的一个超集,具体描述参考官网介绍

知识点

TS文件编译

需要先node安装ts编译器

然后执行tsc file.ts

随后会生成一个file.js即可运行

补充:tsc file.ts -w会动态监视此文件变动,然后动态编译,省去手动编译的麻烦,但只能监视单个文件

添加一个tsconfig.json文件,再执行tsc即可监视整个目录的修改状态并动态编译

TS配置文件

tsconfig.json是TS的配置文件

常用配置

配置名例子描述
include./src/**/*只编译include下指定的目录中的TS文件,如目录不存在会报错,**表示任意目录,*表示任意文件
exclude./src/hello/**/*不需要编译的目录可以配置在该项里
extendstsconfig.base.json继承一个别的配置文件
compilerOptions看下方子选项编译器配置选项,重要!!!
targetES6编译后的JS版本,默认是ES3,在这里查看支持的值
moduleES6编译后模块导入方式,默认CommonJS,在这里查看支持的值
libdom依赖库配置项,最好不要去配置它,它已经默认设置好一些常用依赖库,除非你的代码不在浏览器环境中运行,那你可以修改它
outDir./dist编译后输出目录,默认是与ts文件同级
outFile./dist/app.js将所有ts文件编译在一起,输出为一个app.js文件(一般该工作都是让专业的打包工具去实现),该配置不支持打包CommonJS和ES6方式引入的模块,需要使用System或AMD方式,详情
allowJsfalse是否允许在ts文件中导入Js文件,默认false
checkJsfalse检查Ts文件中导入的所有Js文件中语法、类型等是否有错,默认false,该项需要与allowJs配合使用,需要allowJs为true才可以开启该项
removeCommentsfalse编译后是否去除文件中的注释,默认false
noEmitfalse不生产编译后的js文件,如果只是用ts去检查类型,那可以打开此设置
noEmitOnErrortrue当编译时报错,就不生成js文件,可以打开,默认false
alwaysStricttrue设置编译后的文件是否使用严格模式,默认false,当有引入模块时,js默认进入严格模式,所以即使开启此项也不会再加上"use strict"了
noImplicitAnytrue设置不允许隐式any类型,默认false
noImplicitThistrue不允许不明确类型的this使用
strictNullCheckstrue严格检查空值
stricttrue严格检查总开关,默认false,建议设为true,开启所有严格检查,如果此项开启,其它严格检查配置就无需再开启了

TS基本类型

类型例子描述
number1,2,3任意数字
stringa, abc, hello任意字符串
booleantrue, false布尔值true或false
字面量男,女限定变量的值只能是列举出来的其中的值
any*任意类型
unknown*类型安全的any
void空值空或者undefined
never没有值不能是任何值
object{name: "xiaomin"}任意对象
array[1,2,3]任意数组
tuple[1,2,3]固定长度数组,TS新增
enumenum{A, B}枚举,TS新增