学习之前请确保已经学习了 “ES6从入门到精通”
TypeScript 是 JavaScript 的一个超集, 包含了 JavaScript 的所有特性,
并且完全兼容 ES6, 可看作是具有静态类型的 ES6+, 同时还增加了一些新的特性:
接口:用于定义对象的结构
枚举:用于定义一组命名常量
泛型:用于创建可复用的组件
装饰器:用于修改类和类成员的行为
访问修饰符:如 public, private, protected,用于控制类成员的可见性
......
注
动态类型语言(JavaScript): 变量的类型是在运行时确定的
let url = "dengruicode.com" // url 是一个 string 类型
类型推断
当解释器遇到 let url = "dengruicode.com" 这一行代码时,
会识别出右侧的 "dengruicode.com" 是一个字符串,
此时解释器会推断出 url 是一个字符串类型的变量
静态类型语言(TypeScript) : 在编译阶段就明确了变量的类型
let url: string = "dengruicode.com" // 明确声明 url 是一个 string 类型
注
类型注解(即冒号后跟类型)是在编程中用于指定变量、函数返回值或参数的具体类型
: string 是一个类型注解,用于告诉编译器 url 变量应该存储一个字符串类型的值
main.ts
let url: string = "dengruicode.com"
console.log(url)
运行 node main.ts
注
老版本 node 不支持直接运行 ts, 可以安装 ts-node
初始化配置文件 package.json
npm init -y
注
报错
npm 无法加载文件 CProgram Filesnodejsnpm.ps1,
因为在此系统上禁止运行脚本
解决方法
powershell
获取当前脚本的执行策略
Get-ExecutionPolicy
设置脚本的执行策略
Set-ExecutionPolicy Restricted
禁止运行所有脚本
Set-ExecutionPolicy AllSigned
所有脚本需要有效的数字签名才可运行
Set-ExecutionPolicy RemoteSigned
允许运行本地创建的脚本,但从网下载的脚本则需有效的数字签名才可运行
Set-ExecutionPolicy Unrestricted
允许所有脚本运行
package.json
{
"name": "demo",
"version": "1.0.0",
"main": "main.ts",
"scripts": {
},
"keywords": [],
"author": "",
"license": "ISC",
"description": ""
}