TypeScript-初识
看到TS,最直观感受是数据类型加在变量后面还有方法后面,eg:
//-----变量后面
const hello : string = "Hello World!" console.log(hello)
--------------------------------------------------------------------------------
//----方法后面
function greet():string
{ // 返回一个字符串 return "Hello World" }
--------------------------------------------------------------------------------
//----方法的参数后面
function buildName(firstName: string, lastName?: string)//可选参数
{ if (lastName) return firstName + " " + lastName;
else
return firstName;
}
let result1 = buildName("Bob");
// 错误,参数太多了
let result2 = buildName("Bob", "Adams", "Sr.");
let result3 = buildName("Bob", "Adams");
function calculate_discount(price:number,rate:number = 0.50) //参数初始化
{ var discount = price * rate;
console.log("计算结果: ",discount);
}
calculate_discount(1000)
calculate_discount(1000,0.30)
--------------------------------------------------------------------------------
//剩余参数
function buildName(firstName: string, ...restOfName: string[])
{ return firstName + " " + restOfName.join(" ");
}
let employeeName = buildName("Joseph", "Samuel", "Lucas", "MacKinzie");
--------------------------------------------------------------------------------
//构造函数
var myFunction = new Function("a", "b", "return a * b");
var x = myFunction(4, 3);
console.log(x);
详细研究一下
1】JavaScript 与 TypeScript 的区别
TypeScript 通过类型注解提供编译时的静态类型检查。
2】语法特性
TypeScript 是一种给 JavaScript 添加特性的语言扩展。增加的功能包括:
- 类型批注和编译时类型检查
- 类型推断
- 类型擦除
- 接口
- 枚举
- Mixin
- 泛型编程
- 名字空间
- 元组
- Await
以下功能是从 ECMA 2015 反向移植而来:
- 类
- 模块
- lambda 函数的箭头语法
- 可选参数以及默认参数
3】TypeScript安装
npm config set registry https://registry.npmmirror.com
//安装 typescript: npm install -g typescript
//安装完成后我们可以使用 tsc 命令来执行 TypeScript 的相关代码,以下是 //查看版本号:
$ tsc -v Version 3.2.2 //通常我们使用 .ts 作为 TypeScript 代码文件的扩展名。 //然后执行以下命令将 TypeScript 转换为 JavaScript 代码 tsc app.ts
TypeScript 转换为 JavaScript 过程如下图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南