Mindblown: a blog about philosophy.
-
Typescript 系列课程 – 3
TypeScript装饰器 装饰器被用来修饰类或方法的语法,通过@来调用,装饰器目前还处在测试阶段,开启typescript中的装饰器需要在tsconfig.json中额外配置一下 1. 类装饰器 2. 参数化装饰器
-
Typescript 系列课程 – 2
泛型(Generic Type) 在TypeScript中不建议使用any类型,因为这违反了TS的类型安全原则,因此我么有了泛型。 泛型简单理解就是类型变量,可以再定义时使用泛型,在使用时指定类型,下面我们来介绍一些泛型的使用方法 1. 泛型类 2. 泛型方法 3. 泛型接口 4. 类型映射 需求:创建一个相同的product接口,要求属性都是只读的 实际上readonly等泛型utility已经内置到ts中了,可以查阅文档 5. 工具类 5.1 Partial: Partial类型可以将已经定义好的类型中的所有字段变为可选 Interface User { name: string; age: number;}let userPartial = Partial<User> = {} // 不会报错,原属性都成为可选了userPartial.age = 12; 5.2 Required: 与Partial相对应,将原类型中的所有字段全变成必须属性 5.3 Record: Record是用来一个确定字段类型的对象的 const nameAgeMaps: Record<string, number> = { “Alice”: 12; “Bob”: 13;} Record<string, number>等价于 {[key: string],…
-
Typescript 系列课程 – 1
Typescript简介 Typescript是一个javascript的超集,他并不能在js及nodejs的环境中运行,需要通过编译器先转换为js代码,TS添加了许多js中没有的功能,在编译阶段也会把出现的问题抛出来,例如类型检查功能,在大型项目的开发中提供了更好的开发体验。 当然事情都有两面性,ts的缺点是必须经过编译才能运行在环境中。第二个缺点是coding起来需要有一定的规则,这也意味着在大型多人合作的项目中大家也都遵循同样的规则写代码,这对后期的维护提供了极大的方便。 TypesScript类型 TS中类型分为两类,一类是JS中原有的类型,包括原始类型(primitive type) number, string, boolean, null, undefined, Symbol; 对象类型 Object 第二类是TS新增的类型,包括自定义类型(alias), 联合类型,交叉类型,字面量类型, void, any等等,下面详细介绍下TypeScript中新增的类型 1.自定义类型 例如在创建一个员工的对象时,如果每次都在创建时写下这个对象的类型就会很麻烦,遵循DRY(Don’t repeat yourself)原则,诞生了类型别名 遵循DRY(Don’t repeat yourself)原则,诞生了类型别名 2. 联合类型 当处理可能是多种类型的值时,我们可以使用联合类型, 例: 3. 交叉类型 4. 字面量类型 有时我们需要限定变量只能使用我们规定好的几个值,这时就可以使用字面量类型了 5. 可选链,例 6. Type Casting, 类型断言 使用as作为关键字,将覆盖原有的类型,如:let x: unknown = ‘hello’;console.log((x as string).length); 注意: 断言并不会改变值的原有类型let x: unknown = 4;console.log((x as string).length); // prints undefined since numbers…
-

深入理解React – 2
揭开React虚拟DOM的神秘面纱
-

深入理解React – 1
深入学习React之 JSX工作流
Got any book recommendations?
