![](https://img-blog.csdnimg.cn/20210406120523691.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
TypeScript
Jedi Hongbin
hongbin.xyz meta.hongbin.xyz kmyc.hongbin.xyz
展开
-
typescript实现一个最简的装饰器依赖注入
返回值类型元数据:使用元数据键 “design:returntype”(用来获取返回值类型)参数类型元数据:使用元数据键 “design:paramtypes”(用来获取参数类型)类型元数据:使用元数据键 “design:type”(用来获取属性类型)这个案例只是验证构造函数自动注入能力 没有使用到。用来获取构造函数的参数类型 去查找注入。因此必须开启ts装饰器和ts元数据。用来实现 多次注入 只创建一个实例。装饰器依赖注入,元数据键是关键。全局入口倒入一次即可。原创 2024-01-05 14:25:05 · 498 阅读 · 0 评论 -
ts装饰器保存this指向
要使用 function 而不是 箭头函数。原创 2023-09-24 09:34:03 · 177 阅读 · 0 评论 -
ts使用装饰器 !!要注意⚠️
书写前就应当设计好函数和装饰器的分功,这并非是使用装饰器的代价,而是要求我们以一种更好的设计模式来书写代码,从这点考虑使用装饰器是有更深远的收益的。而非一个封装函数能替代的原创 2023-08-27 23:58:45 · 217 阅读 · 0 评论 -
Next.js使用装饰器decorator 解决[作为表达式调用时,无法解析类修饰器的签名。]
Next.js 会自动检测 `jsconfig.json `或 `tsconfig.json` 中的`experimentalDecorators`。原创 2023-08-06 16:59:45 · 1788 阅读 · 0 评论 -
TypeScript扩充第三方库的接口
场景 THREE的ShaderMaterial要更改uniforms太繁琐。向ShaderMaterial扩充一个方法并提供ts支持。找到库中的接口定义位置 插入新的类型定义即可。原创 2023-01-25 16:15:11 · 589 阅读 · 0 评论 -
ts定义constructor的返回类型
这里我定义了一个对原始类的封装返回的也是这个类 但是ts鉴别我返回的是封装的这个类,但是返回的确实是正确的。有人在18年就提出了这个问题想为构造函数写返回值类型 但是至今也并没有得到支持。提供两种处理方式 (也许这时我们需要考虑是否换一种方法实现更好)不过我们可以使用一些其他的方式来返回需要的类型虽然这并不优雅。2.格外增加一个函数参考下面的回答。原创 2022-12-31 12:08:50 · 375 阅读 · 0 评论 -
ts svg 封装
主要是加入 属性类型定义。原创 2022-12-24 15:24:31 · 185 阅读 · 0 评论 -
typescript全局注入THREE
定义 global.d.ts 将THREE注入global。原创 2022-10-21 10:35:36 · 376 阅读 · 0 评论 -
ts全局变量定义
全局定义可以获得全局ts支持原创 2022-10-21 09:16:51 · 5476 阅读 · 0 评论 -
ts封装范型请求 typeof,Parameters,ReturnType 使用
使用export interface AuthProps { username: string; password: string;}export const login = request<AuthProps>("/login");request方法是需要传入一个参数的类型的范型 如request<AuthProps>("/login")export interface AuthInfo { _id: string; username: string;原创 2021-08-22 08:12:57 · 3986 阅读 · 0 评论 -
js 动态改变根元素rem大小
效果以react 为例逻辑const eStyle = useRef<HTMLElement>(document.createElement("style"));const eHead = useMemo<HTMLHeadElement | null>( () => document.querySelector("head"), []);const handleChangeRem = useCallback(() => { eStyle.cur原创 2021-06-11 20:34:14 · 320 阅读 · 0 评论 -
react-native中使用TypeScript
基本类型定义 let str: string = "string"; let num: number = 123; let boo: boolean = true; let un: undefined = undefined; let nu: null = null;将非当前数据类型的值赋给该变量的时候会报错其他基本数据类型也是如此,如果需要一个可以变化数据类型的变量可以这样: let strOrNum: string | number = "str";原创 2020-09-03 21:43:27 · 1676 阅读 · 0 评论