temporal-spec 类型包使用指南:让 TypeScript 6.0 以下项目获得准确 Temporal 类型
temporal-spec 类型包使用指南让 TypeScript 6.0 以下项目获得准确 Temporal 类型【免费下载链接】temporal-polyfillA lightweight polyfill for Temporal, successor to the JavaScript Date object项目地址: https://gitcode.com/gh_mirrors/tempo/temporaltemporal-spec 是一个只包含类型声明的 TypeScript 类型包专门为 Temporal——JavaScript Date 的官方继任者——提供一套与规范完全对齐的类型定义。在 TypeScript 6.0 之前编译器并没有内置任何 Temporal 类型项目里到处是any或自造的残缺类型。本指南将带你快速掌握 temporal-spec 的安装方法、两种引入方式与配置技巧让你的项目在 TypeScript 6.0 以下也能拥有准确、完整的 Temporal 类型体验。为什么需要 Temporal 类型包Temporal 是 TC39 的 Stage 4 提案旨在彻底修复 JavaScriptDate对象的诸多历史问题时区混乱、月份从 0 开始、不可变类型缺失等等。它提供了Instant、ZonedDateTime、PlainDate、PlainTime、Duration等一系列新类型。问题在于TypeScript 6.0 之前没有任何版本的 TypeScript 自带 Temporal 类型。过去各个实现都各自维护一份声明文件彼此之间经常漂移、不一致。temporal-spec 正是为了解决这一痛点而生——它把完整、准确的 Temporal 类型声明集中到一个独立的、零依赖的包里任何 polyfill、实现或普通应用都能共享同一套类型。temporal-spec 是什么纯类型、零运行时开销 temporal-spec 包内只有.d.ts声明文件没有任何运行时代码。它描述的是 Temporal API 的完整形状外加Intl和Date上新增的 Temporal 相关类型。因此对绝大多数项目来说它应该作为devDependency安装不会给你的打包产物增加一个字节。你可以在仓库的spec/目录下直接查看这些类型声明命名空间版本的主声明spec/index.d.ts全局版本的主声明spec/global.d.ts官方说明文档spec/README.md版本历史spec/CHANGELOG.md一键安装步骤 ⚡安装非常简单只需要一条命令npm install temporal-spec由于它只包含类型声明建议作为开发依赖安装npm install -D temporal-spec如果需要查看源码、文档也可以克隆仓库到本地git clone https://gitcode.com/gh_mirrors/tempo/temporal两种引入方式按需选择 temporal-spec 提供了两个入口区别在于你是否想让Temporal成为全局类型。方式一命名空间式无全局污染推荐库作者使用显式导入Temporal命名空间没有任何副作用不会触碰全局 TypeScript 作用域import type { Temporal } from temporal-spec function format(zdt: Temporal.ZonedDateTime): string { return zdt.toString() }这种方式适合组件库、工具库等需要保持环境干净的场景。方式二全局式模拟原生 API 行为通过副作用导入来增强全局作用域让Temporal无需显式导入即可在任意位置使用这模拟了未来原生 API 落地后的行为import temporal-spec/global function format(zdt: Temporal.ZonedDateTime): string { return zdt.toString() }如果你的项目同时在使用 temporal-polyfill 这个轻量级 polyfill体积不到 20 kB规范符合度近乎完美组合起来效果最佳import temporal-polyfill/global // 运行时 polyfill import temporal-spec/global // 类型声明TypeScript 6.0 时 console.log(Temporal.Now.zonedDateTimeISO().toString())polyfill 的完整说明见 polyfill/README.md。类型覆盖范围完整且准确 ️两个入口都覆盖了提案的完整 API 表面Temporal命名空间Instant、ZonedDateTime、PlainDate、PlainTime、PlainDateTime、PlainYearMonth、PlainMonthDay、Duration、Now以及所有配套的*Like和 options 类型。Intl.DateTimeFormat增强让format、formatToParts、formatRange、formatRangeToParts都能接受 Temporal 对象作为参数。Date.prototype.toTemporalInstant命名空间入口还导出了一个独立的toTemporalInstant函数方便把旧式Date值桥接进 Temporal 世界。这些声明源自 TypeScript 项目官方的lib文件esnext.temporal.d.ts、esnext.intl.d.ts、esnext.date.d.ts并采用 Apache-2.0 协议发布准确性和权威性都有保障。TypeScript 6.0 以上的另一种选择 ✨如果你已经升级到TypeScript 6.0好消息是编译器已经在内置lib中打包了 Temporal 类型esnext.temporal。此时你只需在tsconfig.json中启用对应的 lib甚至可以不安装任何类型包{ compilerOptions: { lib: [esnext.temporal, esnext.intl, esnext.date] } }不过 temporal-spec 在以下场景依然不可替代场景为什么需要 temporal-specTypeScript 6.0没有内置 Temporal 类型必须外挂类型包想要命名空间式非全局类型lib只提供全局形式不提供命名空间导入你是 polyfill / 实现作者类型与使用者各自的 TypeScript 版本解耦永不失同步给 polyfill 作者的建议 ️如果你正在构建自己的 Temporal 实现temporal-spec 能让你用与全社区一致的声明文件来检查你的类型输出而不是复制一份慢慢与规范脱节的副本。做法是依赖它把你的公开类型指向Temporal命名空间随着提案演进持续保持同步即可。小结 关键点说明包类型纯.d.ts类型声明零运行时开销安装npm install -D temporal-spec命名空间入口import type { Temporal } from temporal-spec全局入口import temporal-spec/global适用版本主要面向 TypeScript 6.0配套方案与 temporal-polyfill 搭配使用效果最佳无论你是想在 TypeScript 6.0 以下的项目中提前体验 Temporal 的完整类型还是作为库作者需要一套稳定、权威的类型底座temporal-spec 都是值得一试的轻量选择。现在就安装它告别any满天飞的类型地狱吧【免费下载链接】temporal-polyfillA lightweight polyfill for Temporal, successor to the JavaScript Date object项目地址: https://gitcode.com/gh_mirrors/tempo/temporal创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

渲染管线出错时怎样快速降级

渲染管线出错时怎样快速降级

渲染管线出错时怎样快速降级 判断 渲染管线 是否合适,不能只看演示结果。先固定场景特征、目标平台、画质选项和资源生命周期,再让每一次改变都能追到具体模块、配置和状态。 不要跳过前提 先列出可降级的能力:保留规则驱动的核心结果&#x…

2026/8/22 16:31:41 阅读更多 →
Jot进阶:如何用事件触发状态自动保存(PersistOn与StopTrackingOn)

Jot进阶:如何用事件触发状态自动保存(PersistOn与StopTrackingOn)

Jot进阶:如何用事件触发状态自动保存(PersistOn与StopTrackingOn) 【免费下载链接】Jot Jot is a library for persisting and applying .NET application state. 项目地址: https://gitcode.com/gh_mirrors/jot1/Jot Jot 是一个面向 …

2026/8/22 16:28:55 阅读更多 →
一键告别 polyfill:temporal-polyfill-codemod 迁移到原生 Temporal 的完整教程

一键告别 polyfill:temporal-polyfill-codemod 迁移到原生 Temporal 的完整教程

一键告别 polyfill:temporal-polyfill-codemod 迁移到原生 Temporal 的完整教程 【免费下载链接】temporal-polyfill A lightweight polyfill for Temporal, successor to the JavaScript Date object 项目地址: https://gitcode.com/gh_mirrors/tempo/temporal …

2026/8/22 16:31:18 阅读更多 →

最新新闻

StringBuilder 和 StringBuffer常用方法全解

StringBuilder 和 StringBuffer常用方法全解

ps.StringBuilder 和 StringBuffer用法一致,StringBuffer适用于多线程,但速度较慢,StringBuilder反之。特殊:StringBuilder数组// 第1步:创建数组(相当于买了一个有3个隔层的书包) StringBuilde…

2026/8/22 16:31:39 阅读更多 →
万字干货 | Prompt、Context、Harness、Loop和Graph:从AI到系统

万字干货 | Prompt、Context、Harness、Loop和Graph:从AI到系统

最近读完了小枣君(周圣君,鲜枣课堂)写的《通信简史》。这本书从技术史、企业史和人物史三个维度展开,没有把通信史写成一串孤立的发明,而是把技术演进、企业发展与人物选择放在同一段历史中。书中保留了必要的专业细节…

2026/8/22 16:31:39 阅读更多 →
游戏画面模糊真是显卡的锅吗?DLSS Swapper 一键换掉游戏里的 DLSS 版本

游戏画面模糊真是显卡的锅吗?DLSS Swapper 一键换掉游戏里的 DLSS 版本

游戏画面模糊真是显卡的锅吗?DLSS Swapper 一键换掉游戏里的 DLSS 版本 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 上周末我把游戏开到 4K、DLSS 切到质量模式,本以为能爽上一把&#xff0c…

2026/8/22 16:31:39 阅读更多 →
单片机毕业设计实战:从硬件到云端的物联网系统开发指南

单片机毕业设计实战:从硬件到云端的物联网系统开发指南

最近在准备单片机毕业设计的同学,是不是经常听到“从夯到拉锐平”这个说法,然后一头雾水?这听起来像是一句黑话,或者某个神秘的技术栈。其实,它背后反映的是一个非常普遍且真实的毕业设计困境:从硬件&#…

2026/8/22 16:31:39 阅读更多 →
Akagi 雀魂AI助手指南:免费实时麻将分析与AI建议,5分钟上手

Akagi 雀魂AI助手指南:免费实时麻将分析与AI建议,5分钟上手

Akagi 雀魂AI助手指南:免费实时麻将分析与AI建议,5分钟上手 【免费下载链接】Akagi 支持雀魂、天鳳、麻雀一番街、天月麻將,能夠使用自定義的AI模型實時分析對局並給出建議,內建Mortal AI作為示例。 Supports Majsoul, Tenhou, Ri…

2026/8/22 16:31:39 阅读更多 →
HsMod:炉石增强插件,60+功能覆盖MMR、换肤与挂机

HsMod:炉石增强插件,60+功能覆盖MMR、换肤与挂机

HsMod:炉石增强插件,60功能覆盖MMR、换肤与挂机 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod 想给英雄换皮肤得改配置再模拟断线,酒馆战棋里想看对手隐…

2026/8/22 16:30:38 阅读更多 →

日新闻

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

在电子硬件开发领域,PCB(印制电路板)的沉金工艺是提升产品可靠性和焊接质量的关键环节。对于需要高密度互连、长期稳定运行或高频信号传输的板卡,如“黍姐仿通行证”这类可能涉及身份识别、数据交互的硬件项目,选择正确…

2026/8/22 0:00:11 阅读更多 →
电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

这次我们来看一个针对电气考研电路科目的学习规划项目。它不是软件工具,而是一套聚焦于8月份关键节点的备考策略。对于电气工程考研的同学来说,电路分析是专业课的重中之重,也是拉开分差的关键。进入8月,复习进入强化阶段&#xf…

2026/8/22 0:00:11 阅读更多 →
消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

大家好,我是专注于前端开发与AI工具实践的技术博主。在日常使用 Claude Code 等AI编程助手时,你是否也遇到过这样的困扰:生成的代码功能上没问题,但代码风格、组件设计、交互逻辑总透着一股“AI味”——布局单调、样式简陋、交互生…

2026/8/22 0:00:11 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/21 3:21:33 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/22 8:09:09 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/21 6:07:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/21 16:42:28 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/22 7:31:03 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →