添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
导读:编译TypeScript 浏览器不能直接运行TypeScript代码,需要编译为JavaScript再交由浏览器解析器执行。1.命令行编译 要把....

编译 TypeScript


浏览器不能直接运行 TypeScript 代码,需要编译为 JavaScript 再交由浏览器解析器执行。

1. 命令行编译


要把.ts文件编译为.js文件,需要配置TypeScript的编译环境,步骤如下:


· 第一步:创建一个demo.ts文件,例如:


const person = {


name:'李四',


age:18


}


console.log(`我叫${person.name},我今年${person.age}岁了`)


· 第二步:全局安装TypeScript


npm i typescript -g


· 第三步:使用命令编译.ts文件


tsc demo.ts

2. 自动化编译


· 第一步:创建TypeScript编译控制文件


tsc --init


1. 工程中会生成一个tsconfig.json配置文件,其中包含着很多编译时的配置。


2. 观察发现,默认编译的JS版本是ES7,我们可以手动调整为其他版本。


· 第二步:监视目录中的.ts文件变化


tsc --watch 或 tsc -w


· 第三步:小优化,当编译出错时不生成.js文件


tsc --noEmitOnError --watch




类型声明


使用:来对变量或函数形参,进行类型声明:


let a: string //变量a只能存储字符串


let b: number //变量b只能存储数值


let c: boolean //变量c只能存储布尔值



a = 'hello'


a = 100 //警告:不能将类型“number”分配给类型“string”



b = 666


b = '你好'//警告:不能将类型“string”分配给类型“number”



c = true


c = 666 //警告:不能将类型“number”分配给类型“boolean”



// 参数x必须是数字,参数y也必须是数字,函数返回值也必须是数字


function demo(x:number,y:number):number{


return x + y


}



demo(100,200)


demo(100,'200') //警告:类型“string”的参数不能赋给类型“number”的参数


demo(100,200,300) //警告:应有 2 个参数,但获得 3 个


demo(100) //警告:应有 2 个参数,但获得 1 个


在:后也可以写字面量类型,不过实际开发中用的不多。


let a: '你好' //a的值只能为字符串“你好”


let b: 100 //b的值只能为数字100



a = '欢迎'//警告:不能将类型“"欢迎"”分配给类型“"你好"”


b = 200  //警告:不能将类型“200”分配给类型“100” 作者:尚硅谷 https://www.bilibili.com/read/cv37465036/?jump_opus=1 出处:bilibili




类型推断


TS会根据我们的代码,进行类型推导,例如下面代码中的变量d,只能存储数字


let d = -99 //TypeScript会推断出变量d的类型是数字


d = false //警告:不能将类型“boolean”分配给类型“number”


但要注意,类型推断不是万能的,面对复杂类型时推断容易出问题,所以尽量还是明确的编写类型声明! 作者:尚硅谷 https://www.bilibili.com/read/cv37465036/?jump_opus=1 出处:bilibili





本文地址:https://www.jinpeng.work/?id=223
若非特殊说明,文章均属本站原创,转载请注明原链接。
  • 上一篇: Vue2 路由
  • 下一篇: Typescript 类型
  •