TypeScript | 笔记
2023-02-19 12:29:00 时间
引言
TypeScript 学习笔记
TypeScript 是 JavaScript 的超集
你写 ts 代码,然后通过 ts 编译器编译为纯粹的 js 代码
ts 使用 js 语法,然后添加一个额外的语法以便支持强类型
安装
安装ts compiler
npm install -g typescript
tsc --v
npm install -g ts-node
编译 app.ts
tsc app.ts
node app.js
ts-node app.ts
Why TypeScript ?
let box;
console.log(typeof(box)); // undefined
box = "Hello";
console.log(typeof(box)); // string
box = 100;
console.log(typeof(box)); // number
类型注解
let variableName: type;
let variableName: type = value;
const constantName: type = value;
et counter: number;
counter = 'Hello'; // compile error
Type '"Hello"' is not assignable to type 'number'.
let name: string = 'John';
let age: number = 25;
let active: boolean = true;
数组
let names: string[] = ['John', 'Jane', 'Peter', 'David', 'Mary'];
对象
let person: {
name: string;
age: number
};
person = {
name: 'John',
age: 25
}; // valid
函数参数与返回值类型
let greeting : (name: string) => string;
greeting = function (name: string) {
return `Hi ${name}`;
};
类型推断
上下文类型(根据上下文推断类型)
类型
Number
String
let firstName: string = `John`;
let title: string = `Web Developer`;
let profile: string = `I'm ${firstName}.
I'm a ${title}`;
console.log(profile);
Boolean
let pending: boolean;
pending = true;
// after a while
// ..
pending = false;
object Type
let employee: object;
employee = {
firstName: 'John',
lastName: 'Doe',
age: 25,
jobTitle: 'Web Developer'
};
console.log(employee);
object vs. Object
The empty type
Summary
数组
let arrayName: type[];
let skills: string[];
skills[0] = "Problem Solving";
skills[1] = "Programming";
skills.push('Software Design');
let skills = ['Problem Sovling','Software Design','Programming'];
let skills: string[];
skills = ['Problem Sovling','Software Design','Programming'];
Storing values of mixed types
元组 Tuple
TODO: 元组 Tuple
Q&A
补充
参考
感谢帮助!
相关文章
- Jgit的使用笔记
- 利用Github Action实现Tornadofx/JavaFx打包
- 叹息!GitHub Trending 即将成为历史!
- 微软软了?开源社区讨论炸锅,GitHub CEO 亲自来答
- GitHub Trending 列表频现重复项,前后端都没去重?
- Photoshop Elements 2021版本软件安装教程(mac+windows全版本都有)
- (ps全版本)Photoshop 2020的安装与破解教程(mac+windows全版本都有)
- (ps全版本)Photoshop cc2018的安装与破解教程(mac+windows全版本,包括2023
- 环境搭建:Oracle GoldenGate 大数据迁移到 Redshift/Flat file/Flume/Kafka测试流程
- 每个开发人员都要掌握的:最小 Linux 基础课
- 来撸羊毛了!Windows 环境下 Hexo 博客搭建,并部署到 GitHub Pages
- 超实用!手把手入门 MongoDB:这些坑点请一定远离
- 【GitHub日报】22-10-09 zustand、neovim、webtorrent、express 等4款App今日上新
- 【GitHub日报】22-10-10 brew、minio、vite、seaweedfs、dbeaver 等8款App今日上新
- 【GitHub日报】22-10-11 cobra、grafana、vue、ToolJet、redwood 等13款App今日上新
- Photoshop 2018 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2017 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2020 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2023 资源免费下载(mac+windows全版本都有,包括最新的2023)
- 最新版本Photoshop CC2018软件安装教程(mac+windows全版本都有,包括2023