typescript学习:介绍与安装

本文内容如下

typescript是什么?与js有什么区别?如何使用?

如果你都有了答案,可以忽略本文章,或去JS学习地图寻找更多答案


typescript是什么

简称TS,是微软开发的一款语言,它能够对代码进行约束,提升代码认知

  • 1.超集:JS基础上的拓展(JS有的TS都有,JS没有的TS有)
  • 2.静态类型风格的类型系统
  • 3.从es6 到 es10 甚至 esNext 的语法支持
  • 4.兼容各种浏览器,各种系统,各种服务器,完全开源

与JS的区别

JS是一款弱类型,动态类型语言:运行期间才会检测问题
TS是一款强类型,静态类型语言:编译期间就会检测问题

function fn(){
	console.log(n)
}JS中,不运行代码和执行fn函数,是不会报错的,这就导致了问题
在TS中,在写代码时就提示了n变量不存在

TS的优缺点

优点

1.程序更容易理解
问题:
函数或者方法输入输出的参数类型,外部条件等
动态语言的约束:需要手动调试等过程
解决:有了ts,代码本身就可以回到上述问题

2.效率更高
在不同的代码块和定义中进行跳转
代码自动补全
丰富的接口提示

3.更少的错误
编译期间能够发现大部分错误
杜绝一些比较常见错误

4.完全兼容JS
第三方库可以单独编写类型文件
流行项目都支持ts:react,vue,ant design等

缺点(其实不算缺点)
1.增加了一些学习成本
2.短期内增加了一些开发成本


安装

单独安装

1.全局安装
cnpm i -g typescript

2.编译与运行
tsc demo.ts
得到demo.js, demo.ts两个文件
运行:node demo.js

使用 ts-node 简化步骤:
cnpm i -g ts-node
ts-node demo.ts​

TS和React结合

简单规则

在 react 中使用 ts 的几点原则和变化:
1.所有用到jsx语法的文件都需要以tsx后缀命名
2.使用组件声明时的Component<P, S>泛型参数声明,来代替PropTypes!
3.全局变量或者自定义的window对象属性,统一在项目根下的global.d.ts中进行声明定义
4.对于项目中常用到的接口数据对象,在types/目录下定义好其结构化类型声明

结合使用

第一种:初始项目时,使用脚手架集成ts,自动生成ts.config.js文件
create-react-app name --template typescript


第二种:项目重构时/升级
1.init -y​
2.tsc --init​
3.配置tscogfig.json
{
   "compilerOptions": {
       "module": "commonjs",
       "target": "es5",
       "sourceMap": false,
       "jsx": "react"
  },
   "exclude": ["node_modules"]
}4.安装react相关类型文件
cnpm i -S react react-dom @types/react @types/react-dom


第三种:配置webpack,安装对应的loader
module.exports = {
   entry:"./src/index.tsx",
   output:{
       filename: "app.js",
  },
   module:{
       rules:[
          {test:/\.tsx?$/, loader:"ts-loader"}
      ]
  },
   resolve:{
       extensions: [".ts", ".tsx", ".js"]
  }
}

学习更多

JS学习地图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值