本月,Ruby on Rails 作者 DHH 宣布移除其团队开源项目 Turbo 8 中的 TypeScript 代码。他认为,TypeScript 对他来说只是阻碍。不仅因为它需要显式的编译步骤,还因为它用类型编程污染了代码,很影响开发体验。无独有偶,不久前,知名前端 UI 框架 Svelte 也宣布从 TypeScript 切换到 JavaScript ......
156
0
0
2024-02-17
一、当前一些写前端的骚操作先罗列一下见到过的一些写法吧:)1. interface(或Type)一把梭掘金上很多文章,一提到 TypeScript,那不得先用 interface 或者 type 来声明个数据结构吗?像这样:type User = { nickname: string avatar?: string age: n ......
167
0
0
2024-02-04
不知道大家平时使用 TypeScript 有没有遇到过这种情况:interface Options { hostName: string; port: number; } function validateOptions (options: Options) { Object.keys(options).forEach(key =& ......
185
0
0
2024-01-31
目录一、实现的功能二、工具使用方法三、实现思路四、使用示例简单的JSON 数据输出对应简单的类型定义复杂的JSON 数据输出对应复杂类型定义五、具体实现代码六、写在最后在TypeScript 项目中,我们经常需要使用声明一系列的ts类型。然而,手动写的效率实在太低,编写一个自动生成ts类型的工具可以解放生产力。 实现一个工具将 JSON 数据转换为 Type ......
303
0
0
2023-09-14
目录前言extends 的几个语义extends 与 类型组合/类继承extends 与类型约束extends 与条件类型extends 与 {}extends 与 anyextends 与 neverextends 与 联合类型extends 判断类型严格相等extends 与类型推导总结前言声明: 以下文章所包含的结论都是基于 typeScript@4. ......
376
0
0
2023-09-09
目录1. 认识队列结构2. 实现队列结构封装3. 实战一:最近的请求次数3.1 题目描述3.2 解一:队列4. 实战二:无法吃午餐的学生数量4.1 题目描述4.2 解一:队列5. 实战三:字符串中的第一个唯一字符5.1 题目描述5.2 解一:哈希表5.3 解二:队列1. 认识队列结构队列是一个 先进先出(FIFO) 的数据结构js 中没有队列,但我们可以用 ......
330
0
0
2023-08-01
目录TypeScript 介绍函数枚举联合类型类型别名和接口类型别名接口交叉类型类TypeScript 介绍TypeScript 是 JavaScript 的超集,提供了 JavaScript 的所有功能,并提供了可选的静态类型、Mixin、类、接口和泛型等特性。TypeScript 的目标是通过其类型系统帮助及早发现错误并提高 JavaScript 开发效 ......
266
0
0
2023-07-28
目录TypeScript 介绍类型分配类型推导数组元组objectnull 和 undefined特殊类型anyunknownnevervoidTypeScript 介绍TypeScript 是 JavaScript 的超集,提供了 JavaScript 的所有功能,并提供了可选的静态类型、Mixin、类、接口和泛型等特性。TypeScript 的目标是通过 ......
270
0
0
2023-07-28
目录将类型想象成集合理解类型声明和类型收窄使用带有区分的联合类型而不是可选字段使用类型谓词来避免类型断言控制联合类型的分布方式使用穷举式检查,在编译时捕捉未处理的情况优先选择 type 而不是 interface在适当的时候优先选择元组而不是数组控制推断的类型的通用性或特殊性使用const来缩小到最具体的类型使用satisfies来检查类型,而不影响推断的类 ......
257
0
0
2023-07-16
目录类型别名字符串字面量类型元组枚举类类的概念TypeScript 中类的用法参数属性readonly抽象类类的类型类与接口泛型泛型类泛型参数的默认类型声明合并函数的合并接口的合并本文讲述了typescript开发的一些高级的类型与技术,算是对于基础知识点的补充,具体内容包括:比如元组、枚举类、接口、泛型相关概念等。虽说是进阶,但是内容不算多也并不难理解。类 ......
259
0
0
2023-07-14
目录学习编程的几个阶段原始数据类型1 string2 number3 boolean4 任意类型any5 undefined与null6 空 void数组类型接口类型(对象类型)1 可选属性2 只读属性3 限制接口属性范围4 额外的任意属性函数类型1 函数声明2 函数表达式3 可选参数4 参数默认值5 ...rest参数联合类型类型推断 类型断言1 ......
231
0
0
2023-07-14
目录前言:项目搭建,初始化:css的兼容性:贪吃蛇,项目页面:1,游戏主容器2,贪吃蛇移动区域和菜单区域3,蛇和食物前言:学了三天,我们学习了 TS 的基本类型声明,TS 的编译,webpack 打包,其实也就差不多了,剩下的也就一些 类,继承,构造函数,抽象类,泛型一些的,如果都细致的讲可能写好久,感兴趣的可以自己找资料细致的去学一下学习代码或一个新语法, ......
298
0
0
2023-06-21
目录前言函数类型函数的声明方式函数的类型注解对象中的函数类型函数的参数可选参数参数默认值剩余参数函数的返回值类型this 类型声明 this 类型函数重载总结前言虽然 JS/TS 支持面向对象编程,但大部分时候还是在写函数。函数是一等公民。本文介绍下如何在 TypeScript 中使用函数,包括:函数类型声明函数参数类型:可选参数、默认参数、剩余参数函数返回 ......
248
0
0
2023-06-18
目录TypeScript 类型系统和自定义数据类型什么是类型系统函数类型类型别名可选参数默认参数函数重载接口类型可选属性只读属性接口扩展多重接口声明接口的索引签名用接口描述函数类类型implements关键字类的静态端类型和实例端类型将 this 作为类型将 this 作为参数枚举枚举类型枚举的成员类型枚举的成员字面量类型联合类型交叉类型泛型泛型函数泛型接口 ......
272
0
0
2023-06-16
目录一、泛型程序设计是一种编程风格或编程范式二、案例:传入的参数类型与返回的类型一样三、形式类型参数四、泛型约束五、泛型函数六、泛型函数类型推断补充:应用场景总结一、泛型程序设计是一种编程风格或编程范式二、案例:传入的参数类型与返回的类型一样function identify<T>(arg: T): T {// 当前的T没有任何约束 它可以是任何 ......
271
0
0
2023-06-10