Typescript知识点总结


一、Typescript是什么?

TypeScript是JavaScript类型的超集(当前我们处于ES5),它可以编译成纯JavaScript。

TypeScript给JavaScript加上可选的类型系统,给JavaScript加上静态类型后,就能将调试从运行期提前到编码期,诸如类型检查、越界检查这样的功能才能真正发挥作用。 TypeScript的开发体验远远超过以往纯JavaScript的开发体验,无需运行程序即可修复潜在bug。

TypeScript支持未来的ES6甚至ES7。在TypeScript中,可以直接使用ES6的最新特性,在编译时它会自动编译到ES3或ES5。

TypeScript可以构建大型程序,并在任何浏览器、任何计算机和任何操作系统上运行,且是开源的。

1.语言特性:

  • 类型批注和编译时类型检查
  • 类型推断
  • 类型擦除
  • 接口
  • 枚举
  • Mixin
  • 泛型编程
  • 名字空间
  • 元组
  • Await

2.组成部分

  • 模块
  • 函数
  • 变量
  • 语句和表达式
  • 注释

3.JavaScript 与 TypeScript 的区别

  • TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码可与 TypeScript 一起工作无需任何修改,TypeScript 通过类型注解提供编译时的静态类型检查。
  • TypeScript 可处理已有的 JavaScript 代码,并只对其中的 TypeScript 代码进行编译。

二、TS配置

安装好NodeJS后,以管理员身份运行终端,使用npm -g install ts-node typescript命令进行全局安装

如在VS Code中开发,请安装TSLint、TypeScript Hero、Bracket Pair Colorizer等插件

新建一个.ts后缀的文件,任意写一段JS代码,点击运行试试是否配置成功

例如:

//先创建一个初识TypeScript.ts文件
let name: string = "100";
console.log(name);
//执行命令tsc 初识TypeScript.ts
//当前目录生成一个 初识TypeScript.js文件
//转换的代码如下:
let name = "100";
console.log(name);

三、基础语法

1.tsc常用编译参数

序号 编译参数说明
1. –help显示帮助信息
2. –module载入扩展模块
3. –target设置 ECMA 版本
4. –declaration额外生成一个 .d.ts 扩展名的文件。tsc ts-hw.ts --declaration以上命令会生成 ts-hw.d.ts、ts-hw.js 两个文件。
5. –removeComments删除文件的注释
6. –out编译多个文件并合并到一个输出的文件
7. –sourcemap生成一个 sourcemap (.map) 文件。sourcemap 是一个存储源代码与编译代码对应位置映射的信息文件。
8. –module noImplicitAny在表达式和声明上有隐含的 any 类型时报错
9. –watch在监视模式下运行编译器。会监视输出文件,在它们改变时重新编译。

2.保留关键字

在这里插入图片描述

3.空白和换行

TypeScript 会忽略程序中出现的空格、制表符和换行符。

空格、制表符通常用来缩进代码,使代码易于阅读和理解。

4. 区分大小写

TypeScript 区分大写和小写字符。

5.分号是可选的

每行指令都是一段语句,可以选择使用分号或不使用, 分号在 TypeScript 中是可选的,建议使用。

以下代码都是合法的:

console.log(“Runoob”) console.log(“Google”);

如果语句写在同一行则一定需要使用分号来分隔,否则会报错,如:

console.log(“Runoob”);console.log(“Google”);

6.TypeScript 注释

注释可以说明函数、了解程序相关信息、提高程序可读性

// 这是一个单行注释
 
/* 
 这是一个多行注释 
 这是一个多行注释 
 这是一个多行注释 
*/

四、let 和 const

不使用var,使用let或const申明变量,并加上类型说明,且作用域为块级即以{}为界

let lang: string = 'TypeScript';//如果省略类型说明,TS也可进行自动推断
lang = 1010;//error! 如果需要可以使用联合类型:let lang: number | string = 'TS';
let age: number = 89;
let age = 64;//error!


const pi: number = 3.14159;//pi以后不可改变,类似常量
pi = 3.14;//error!

五、解构

将对象、数组中的元素拆分到指定变量中,以方便使用

//解构数组
let input = [89, 64, 2018, 10];
let [first, second] = input;//注意使用[]
console.log(first); // 89
console.log(second); // 64
let [one, ...others] = input; //剩余变量
console.log(...others);
//展开
let newArr = [89, ...others, 18];
console.log(newArr);
//解构对象
let o = {
   
  a: "foo",
  b: 12,
  c: "bar"
};
let {
   a, b} = o;//注意使用{},且变量名需与对象中道属性名一致
console.log(a, b
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值