-
前言 刚刚的vue3.0一发布,各大网址和社区以及公众号已经被 Vue3.0 的One Piece版本所霸屏,出现不同的标题有着同样内容的现象,借此热度我们不如好好回顾一下ts基础知识,备战vue3.0的正式使用。 TypeScript这玩意儿,说起来还真是容易忘。一段时间不用,就觉得特别陌生。可回
-
Ja vaScript(JS)和TypeScript(TS)作为两门备受关注的编程语言,在现代软件开发领域发挥着至关重要的作用。接下来,让我们一同开启一场精彩的对决,深入探讨JS与TS之间的差异、优势,以及它们在不同场景下的应用,助力您在编程世界中做出明智的选择。Ja vaScript(JS):瑞士
-
项目引用是 TypeScript 为大型工程提供的一项组织能力,说白了,就是把一个体量较大的 TypeScript 项目拆分成更小、更清晰的模块来管理。 它可以实现增量构建、更好的代码组织和更快的编译速度。 项目引用 References 原理 主项目 (app) package.json tsco
-
搜索框连续输入时,旧请求可能晚于新请求返回并覆盖结果。本文用 AbortController 取消上一请求,配合请求序号和状态复原,收口竞态并给出可运行的验证示例。
-
自定义元素放进原生 form 后,ElementInternals 可以让组件参与表单校验、提交和无障碍语义。本文用一个邮箱字段拆开 setValidity、表单状态同步和回退边界。
-
WebSocket 断线重连时,分别在 error 和 close 中 setTimeout 很容易形成多个重连链。本文用单一调度器、指数退避和 stop 清理解决定时器叠加问题。
-
排查 Vite 生产构建仍读取旧环境变量的问题,解释 --mode、NODE_ENV、.env 文件和进程环境变量的优先级,并给出配置阶段与构建阶段的核对方法。
-
协变与逆变是 TypeScript 类型系统中的重要概念,理解它们有助于编写类型安全的代码。 它们描述了泛型类型在父子类型关系中的行为。 协变与逆变概念 协变 (Covariant) 输出类型:安全 Dog → Animal Provider → Provider 不变 (Invariant) 输入
-
本文介绍如何通过条件类型让异步函数根据是否传入处理器函数,自动推导出 string[] 或自定义泛型 T 的返回类型,避免 unknown 问题,并支持 T 默认化。 本文介绍如何通过条件类型让异步函数根据是否传入处理器函数,自动推导出 `string[]` 或自定义泛型 `T` 的返回类型,避免
-
前端表单重复提交通常不是单纯把按钮 disabled 就能解决。本文从 submit 事件、form.submit()、requestSubmit() 和原生校验的差异出发,给出一次提交门闩、异步恢复与键盘回车场景的可验证写法。
-
Worker.terminate() 会立即停止 Worker,未完成计算和未发出的消息不会自动补发。本文用请求编号、确认消息和协作取消协议处理销毁边界,并说明 structured clone 与 transfer list 的对象所有权差异。
-
BroadcastChannel 关闭标签页后收不到消息,通常不是浏览器漏发,而是旧实例已离开通道且 API 不保存历史。本文用生命周期封装、主动同步和状态快照给出可落地的处理方式。
-
用 Temporal.PlainDate 处理生日、账期和只关心日历日期的业务值,避开 Date 的时区偏移,覆盖 from、compare、until、toString 与旧浏览器降级边界。
-
TypeScript 面试:接口数据为什么别急着写成 any?有人被问到 any 和 unknown 的区别,会先讲「一个更安全」。这句话没错,但太像背定义了。更直观的说法,不妨直接看一段接口代码:服务端昨天把 name 改成了 displayName,但前端并没有收到通知。结果到了页面渲染时,代码
-
用一个可复现的无限列表场景,拆解 IntersectionObserver 的 rootMargin、threshold、unobserve 与 disconnect,避免滚动监听重复触发和组件卸载后的残留回调。