介绍
TypeScript,简称 ts,是微软开发的一种静态的编程语言,它是 JavaScript 的超集。简单来说,js 有的 ts 都有,所有js 代码都可以在 ts 里面运行。
ts 支持类型支持,ts = type +JavaScript。
ts和js的区别
1.JavaScript 属于动态编程语言,而ts 属于静态编程语言
● js:边解释边执行,错误只有在运行的时候才能发现
● ts:先编译再执行,在写的时候就会发现错误了(ts不能直接执行,需要先编译成 js )
2.ts 完全支持 js ,可以直接转换
ts优势
类型安全:
TS引入了类型检查,可以在编译阶段发现类型错误,减少程序运行期间的错误。这有助于提高代码的稳定性和可维护性。
更好的代码维护性:TS支持模块化、命名空间、接口等特性,使得代码更加可读、可维护、可扩展。
面向对象编程:
TS支持类、继承、抽象类、接口等面向对象编程特性,让代码更加灵活和易于扩展。
编译时静态检查:
TS可以在编译过程中对代码进行语法和类型检查,减少运行时的错误。
兼容性:
TS可以编译成ES5、ES6、ES7等不同版本的JavaScript,可以兼容各种浏览器和Node.js。
易于学习:
对于已经熟悉JavaScript的开发者来说,TS的学习曲线相对较低。
社区支持:
TS拥有庞大的社区支持和丰富的第三方库,这有助于提高开发效率和代码质量。
与JavaScript的互操作性:
TS最终编译为JavaScript,因此在使用TS开发时,可以直接利用现有的JavaScript生态系统。
安装
如果本地环境已安装了npm工具,那么直接使用以下命令安装TypeScript
npm install -g typescript
安装完之后检查是否出现版本号确认安装完毕
tsc -v
//Version 5.6.2
基本使用
新建一个app.ts文件,添加代码如下:
var message:string = "Hello World"
console.log(message)
执行以下命令将ts文件转换成js文件
tsc app.ts
然后会在目录下生成同名js文件,此时运行js文件
node app.js
同时编译多个ts文件
tsc file1.ts file2.ts file3.ts
基础语法
TypeScript主要由以下几个部分组成
模块
模块是在自身作用域里执行,并不是在全局作用域,定义在模块里的变量,函数,类等在模块外部不可见,除非用export导出,同样,我们必须用import导入这些模块里的变量,函数,类。
导出
// 文件名 : app.ts
export interface app { // 代码部分
}
导入
import app = require("./app");
函数
函数返回值
function function_name():return_type { // 语句return value;
}
● return_type 是返回值的类型。
● return 关键词后跟着要返回的结果。
● 一般情况下,一个函数只有一个 return 语句。
● 返回值的类型需要与函数定义的返回类型(return_type)一致。
带参数函数
function func_name( param1 [:datatype], param2 [:datatype]) { }
● param1、param2 为参数名。
● datatype 为参数类型。
可选参数和默认参数
可选参数
在 TypeScript 函数里,如果我们定义了参数,则我们必须传入这些参数,除非将这些参数设置为可选,可选参数使用问号标识 ?
function buildName(firstName: string, lastName: string) {return firstName + " " + lastName;
}let result1 = buildName("Bob"); // 错误,缺少参数
let result2 = buildName("Bob", "Adams", "Sr."); // 错误,参数太多了
let result3 = buildName("Bob", "Adams"); // 正确
我们将 lastName 设置为可选参数
变量
语句和表达式
注释
// 这是一个单行注释/* 这是一个多行注释 这是一个多行注释 这是一个多行注释
*/
空白和换行
TypeScript 会忽略程序中出现的空格、制表符和换行符。
空格、制表符通常用来缩进代码,使代码易于阅读和理解
大小写
TypeScript区分大小写
分号
分号是可选的,可以不用,但是语句写在同一行时,需要用分号分隔