什么是typescript?typescript的特点、typescript的安装与编译、typescript的原始和内置类型、typescript类型注解基本语法、typescript常见类型

前言

typescript官网

一、 typescript介绍

​ TypeScript 是 JavaScript 的一个超集,主要提供了类型系统和对 ES6+ 的支持,让javascript变成强类型语言。它由 Microsoft 开发,代码开源于 GitHub 上。

1、特点

  • 可以在开发阶段和编译阶段就发现大部分错误,这总比在运行时候出错好
  • 不显式的定义类型,也能够自动做出类型推论
  • 即使 TypeScript 编译报错,也可以生成 JavaScript 文件
  • Google 开发的 Angular 就是使用 TypeScript 编写的
  • TypeScript 拥抱了 ES6+ 规范

2、痛点

​ 有一定的学习成本,需要理解接口(Interfaces)、泛型(Generics)、类(Classes)、枚举类型(Enums)等前端工程师可能不是很熟悉的东西短期可能会增加一些开发成本,多写一些类型的定义。对于长期维护的项目,TypeScript 能够减少其维护成本

3、安装

npm install -g typescript  \  yarn global add typescript
tsc -v 测试  c就是compile(编译)

4、编译

编译所完成的事情,就是把ts的代码转换成js的代码。因为浏览器或者node环境最终识别的是js,而不是ts。

 tsc test.ts
//监听
 tsc test.ts --watch

类型不匹配时,编辑报错,但可以生成js(编辑通过),如果不希望编译通过需要配tsconfig.json

使用步骤:

1、新建test.ts
    随便写上一些代码,js的代码就行(因为ts完全支持js)
2、使用命令:tsc  test.ts 把ts编译成js
    在当前目录下就会产生一个test.js文件。
3、新建html文件,引入test.js文件,就ok了。

编辑器推荐使用vscode,因为,vscode对ts的提示非常好。

二、TypeScript 类型

1、原始类型

​ js里本来就有的(基本)类型:number、string、boolean、null、undefined、Symbol

​ ts里新增的类型:void、any、never、联合、函数、数组类型、类 …

2、内置对象类型

DOM

​ Document、HTMLElement、NodeList …

内置类

​ Boolean、Error、Date、RegExp、Math …

三、类型注解

1、基本语法:

声明 变量:类型;           //定义变量,没有赋值时,默认值是: undefined
声明 变量:类型=;        //定义变量并赋值。严格要求值是定义的类型

如:

let n:number; //定义一个变量n,类型是number,没有赋值,默认值是undefined
let num:number = 12; //没有问题
num = "hi"; //出错,类型不对。

let str:string = "hello";

2、不同类型的数据互相赋值的规则(类型权重)

类型权重
	any > boolean number string void 联合、函数、数组类型、类 > null undefined -> never

权重高的类型,接受权重低的类型值;
反之不对;
同等权重的数据不能互相赋值(特殊情况:nullundefined可以互相赋值);

如:

//权重高的类型,接受低权重的类型值
let a:any;
a = 12;
a ="hello";

//权重低的类型,也可以接受权重高的类型
let a1:number;
let b1:any="hello";
a1 = b1;
console.log(a1)
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值