GitHub中文社区

装饰器 旧语法

装饰器(旧语法)上一章介绍了装饰器的标准语法,那是在2022年通过成为标准的。但是在此之前,TypeScript 早在2014年就支持装饰器,不过使用的是旧语法。装饰器的旧语法与标准语法,有相当大的差异。旧语法以后会被淘汰,但是目前大量现有项目依然在使用它,本章就介绍旧语法下的装饰器。experim

装饰器

TypeScript 装饰器简介装饰器(Decorator)是一种语法结构,用来在定义时修改类(class)的行为。在语法上,装饰器有如下几个特征。(1)第一个字符(或者说前缀)是@,后面是一个表达式。(2)@后面的表达式,必须是一个函数(或者执行后可以得到一个函数)。(3)这个函数接受所修饰对象的

namespace命名空间

TypeScript namespacenamespace 是一种将相关代码组织在一起的方式,中文译为“命名空间”。它出现在 ES 模块诞生之前,作为 TypeScript 自己的模块格式而发明的。但是,自从有了 ES 模块,官方已经不推荐使用 namespace 了。基本用法namespace 用

模块

TypeScript 模块简介任何包含 import 或 export 语句的文件,就是一个模块(module)。相应地,如果文件不包含 export 语句,就是一个全局的脚本文件。模块本身就是一个作用域,不属于全局作用域。模块内部的变量、函数、类只在内部可见,对于模块外部是不可见的。暴露给外部的接

类型断言

TypeScript 的类型断言简介对于没有类型声明的值,TypeScript 会进行类型推断,很多时候得到的结果,未必是开发者想要的。type T = 'a'|'b'|'c';let foo = 'a';let bar:T = foo

Enum 类型

TypeScript 的 Enum 类型Enum 是 TypeScript 新增的一种数据结构和类型,中文译为“枚举”。简介实际开发中,经常需要定义一组相关的常量。const RED = 1;const GREEN = 2;const BLUE = 3;let color = userInput()

泛型

TypeScript 泛型简介有些时候,函数返回值的类型与参数类型是相关的。function getFirst(arr) { return arr[0];}上面示例中,函数getFirst()总是返回参数数组的第一个成员。参数数组是什么类型,返回值就是什么类型。这个函数的类型声明只能写成下面这样。

class 类型

TypeScript 的 class 类型简介类(class)是面向对象编程的基本构件,封装了属性和方法,TypeScript 给予了全面支持。属性的类型类的属性可以在顶层声明,也可以在构造方法内部声明。对于顶层声明的属性,可以在声明时同时给出类型。class Point { x:number;

interface 接口

TypeScript 的 interface 接口简介interface 是对象的模板,可以看作是一种类型约定,中文译为“接口”。使用了某个模板的对象,就拥有了指定的类型结构。interface Person { firstName: string; lastName: string; age

对象类型

TypeScript 的对象类型简介除了原始类型,对象是 JavaScript 最基本的数据结构。TypeScript 对于对象类型有很多规则。对象类型的最简单声明方法,就是使用大括号表示对象,在大括号内部声明每个属性和方法的类型。const obj:{ x:number; y:number;}