Typescript是什么?
TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器。
产生的意义和特点
1、TypeScript 起源于使用JavaScript开发的大型项目 。由于JavaScript语言本身的局限性,难以胜任和维护大型项目开发。因此微软开发了TypeScript ,使得其能够胜任开发大型项目。
2、TypeScript 是JavaScript添加了可选的静态类型和基于类的面向对象编程。
3、TypeScript 是一门弱类型的语言。
4、TypeScript扩展了JavaScript的语法,所以任何现有的JavaScript程序可以运行在TypeScript环境中。
5、TypeScript 可以编译为 JavaScript,然后运行在浏览器、Node.js 等任何能运行 JavaScript 的环境中。
6、TypeScript 可以和 JavaScript 共存,这意味着 JavaScript 项目能够渐进式的迁移到 TypeScript。
7、TypeScript 与标准同步发展,符合最新的 ECMAScript 标准(stage 3)
8、TypeScript 仅仅是被编译为标准的 JavaScript。支持运行于任何浏览器和平台上的任何网页。
9、TypeScript 的编译步骤可以输出运行之前的错误。
类型擦除
编辑运行ts
1.playground
2.playcode.io
世界上最快的在线编辑器,缺点是收费
3.stackblitz.com
提供vite的在线方案,较推荐
4.codesandbox.io
5.vite+ts 离线运行
https://vitejs.cn/guide/#scaffolding-your-first-vite-project
语法篇
数据类型
TS的数据类型大致分为三类:继承js 、新增类型、自定义类型
Object
type A = {
[k:string] : number
}//key的类型只能是 string number symbol
type B = Record<string,number>
type C = {
name:string,
age:number
}
Array
由于Array不太准确,所以TS开发者一般用
Array<?> 或 String[ ] 或 [string,number]
来描述数组类型
Function &&Date &&RegExp
type Fn =(name:string,age:number) =>void //无返回值
const date:Date = new Date()
const r:RegExp = /ab+c/
const r2 = new RegExp('ab+c')