带你三分钟快速入门 typeScript
TypeScript 是钟快由微软开发的开源、跨平台的速入编程语言,是钟快 javaScript 的超集,最终被编译为 javaScript 代码。速入常常被简称为 TS ,钟快支持 JS、速入ES 语法。钟快
TS 的速入特点:
始于 javaScript 归于 javaScript 。强大的钟快类型系统。先进的速入 javaScript 。适合开发大型项目,钟快编译成纯 js 代码,速入js 可以运行在任何浏览器上。钟快
typeScript 是速入区分大小写的一门语言,本篇文章主要带你了解 ts 的钟快安装,环境配置,以及简单的入门。
一、安装 TS使用之前需要安装:
npm install -g typescript安装完成之后,使用 tsc -v 检查安装之后的版本。
第一个 ts 文件:01.ts,高防服务器代码如下:
(()=>{
function show(msg){
return "字符串:"+msg
}
let str = "前端"
console.log(show(str))
})()通过 script 引入 html 文件
<script src="./01.ts"></script>页面正常运行,因为 ts 能够支持 js 语法,所以文件内直接引入使用是没问题的,除此之外,还可以使用 node 命令运行该文件,也是可以正常执行的。
如果此时,在 ts 文件内加入 ts 语法:
// 添加类型支持
(()=>{
function show(msg:string){
//添加 string 的意义在于传入的 msg值只能是字符串,不可以是其他类型
return "字符串:"+msg
}
let str = "前端"
console.log(show(str))
})()此时浏览器运行时,会报错,无法继续执行。
此时就需要将 ts 文件编译为 js 文件,打开命令行工具,运行:
tsc 01.ts运行后会自动生成一个 01.js 文件,查看js代码内容如下:
function show(msg) {
return "字符串:" + msg;
}
(function () {
var str = "前端";
console.log(show(str));
})();总结:ts 文件内直接输入 js 文件,在 html 文件引入 ts 文件,在浏览器内是可以直接运行的。
ts 文件内如果有 ts 语法代码,若在 html 文件内引入 ts 文件,直接在浏览器运行会报错,此时需要先编译为 js 文件。
在 ts 文件函数中的形参,b2b供应网如果使用了某个类型进行修饰,那么在最终编译的 js 文件中是没有该类型的。
ts 内地 let 修饰符,编译后的 js 文件内变成了 var 。
二、Vscode 自动编译 ts新建一个项目目录,当前目录下打开命令行工具,执行
tsc --init自动生成 tsconfig.json 文件,代码如下:
{
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"outDir": "./js",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true
}
}注:
outDir 表示的是 ts 文件编译之后生成 js 文件的存放目录。如果属性值之后的文件夹不存在时,就会自动创建。
strict 表示是严格模式。
新建 index.ts 文件,代码如下:
(() => {
function showStr(str:string) {
return str
}
let a: string = "前端人"
// 调用函数
console.log("a",showStr(a));
})()类型注解:函数地形参后加修饰符,用来限制传入参数的类型,string 表示只能为字符串类型。
在命令行运行
tsc -w
//或
tsc -watch自动生成 js 文件夹,包括 index.js 文件。运行该命令后,只要 ts 文件发生改变,就会自动编译。
一切运行正常,没有任何错误。源码下载
如果调用函数的参数传为数值时:
console.log(showStr(123));此时编辑器内报错:类型“number”的参数不能赋给类型“string”的参数。

ts 能够智能提示问题,是因为 ts 提供了静态代码分析,可以分析代码结构和提供的类型注解。
但是 tsc 编译的时候,虽然会提示错误,但它依旧会编译为 js 文件,js 在执行的时候不会报错,因为 js 是弱类型语言。
三、入门 TS基础数据类型boolean 为布尔值类型。如:let isDone: boolean = false;number 为数值类型,ts 能够支持二、八、十、十六进制数据。如:let decLiteral: number = 6;string 为字符串类型。如:let name: string = "bob";表示数组类型。数组名后加元素类型[] 加 数组值。如:let list: number[] = [1, 2, 3];元组类型。如:let arr:[string,number,boolean] = [str,1,true]枚举,为一组数值赋予友好名字。如:enum Color { red, green, blue }任意类型,有时不确定传入的值是什么类型,就可以使用 any 类型。如:let notSure:any = 1空值,与 any 正好相反,表示没有任何类型。 如:function show():void { }null 和 undefinednever 类型,表示永不存在的值。function error(message: string): never { throw new Error(message); }接口接口简单点讲就是一种约束。在 ts 里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。
TypeScript 中的接口是一个非常灵活的概念,除了可用于对类的一部分行为进行抽象以外,也常用于对「对象的形状(Shape)」进行描述。
使用形式:
(() => {
//定义一个接口
interface Person{
firstName:string,//添加类型限定
lastName:string
}
function showFullName(person:Person) {
// 添加类型限定之后,内部会自动提示接口内的字段
return person.firstName + _ + person.lastName
}
const p = {
firstName: "Hello",
lastName: "World"
}
console.log("姓名",showFullName(p));
})()如果把 p 中的 firstName 注释掉,就会报错,提示:

在本实例中,接口的意义就是限定传入 showFullName 函数内的数据属性的限制。
接口优点:自动检测传入的数据是否符合接口规范,如果不符合则会报错。
类Typescript类介绍
传统的 JavaScript 的程序使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员来讲就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来从 ECMAScript 2015,也就是 ECMAScript 6 开始,JavaScript 程序员将能够使用基于类的面向对象的方式。使用 TypeScript,我们允许开发者现在就使用这些特性,并且编译后的 JavaScript 可以在所有主流浏览器和平台上运行,而不需要等到下个JavaScript的版本。
ts 的类只是一个语法糖,本质还是 js 函数实现的。
使用示例:
(() => {
//定义一个接口
interface Person{
firstName: string,
lastName:string
}
//定义一个类
class Personal {
//定义公共的字段属性
firstName: string
lastName: string
fullName: string
// 构造函数
constructor(firstName: string,lastName:string) {
//更新属性数据
this.firstName = firstName
this.lastName = lastName
this.fullName = this.firstName + this.lastName
}
}
const p = new Personal(你,好)
function showFullName(person: Person) {
return person.firstName + person.lastName
}
console.log("p",showFullName(p));
})()相关文章
- 摘要:在当今数字化时代,拥有一个个性化的网站已经成为许多人的梦想。而Ghost作为一个强大的内容管理系统,可以帮助你轻松实现这一目标。本文将带你深入了解Ghost,并教你如何利用其全盘功...2025-11-04
 
0. 前言前文【二叉树的概念和原理】主要介绍了树的相关概念和原理,本文主要内容为二叉树的创建及遍历的代码实现,其中包括递归遍历和栈遍历。1. 二叉树的实现思路1.0. 顺序存储——数组实现前面介绍了满2025-11-04
今天在交流群里,有人问了这样一个问题:截图中涉及到的图片为:一开始,我以为这是一个简单的问题,但后来发现事情并没有这么简单。我要来了这个同学的代码,并在 PyCharm 里面使用调试模式运行,效果如下2025-11-04
大家好,我是煎鱼。最近金三银四,是面试的季节。在我的 Go 读者交流群里出现了许多小伙伴在讨论自己面试过程中所遇到的一些 Go 面试题。今天的男主角,是工程师的必修技能,那就是 “什么是协程,协程和线2025-11-04vivo手机4寸屏手机的特点与优势(小巧便携,功能强大,实用性超越预期)
摘要:随着科技的不断发展,手机已经成为人们生活中必不可少的工具。而在众多手机品牌中,vivo以其出色的性能和创新的设计赢得了众多消费者的喜爱。本文将重点介绍vivo手机4寸屏手机的特点和...2025-11-04
今日,清华大学「集成电路学院」揭牌成立!在110周年校庆即将来临之际,迎来了令人振奋的消息。这是清华大学面向国家重大战略需求,聚焦国家集成电路学科前沿,瞄准「卡脖子」问题,加快培养集成电路紧缺高层次人2025-11-04

最新评论