TypeScript 中,Promise
在 TypeScript 中,Promise 是用于处理异步操作的对象。它表示一个可能在未来某个时间点完成或失败的操作,并返回操作结果或错误。
Promise 可以有三种状态:
pending(进行中):Promise 的初始状态,表示操作正在进行中。
fulfilled(已完成):表示操作成功完成。
rejected(已拒绝):表示操作失败。
创建 Promise 对 ...
TypeScript中的keyof
在 TypeScript 中, keyof 操作符用于获取某种类型的所有键。它返回一个字符串或数字的联合类型,包含对象类型的所有可用键。keyof 主要用于在编译时进行类型检查,以确保你访问的属性是对象实际拥有的键。
一、基本使用
type Person = {
name: string;
age: number;
address: string;
};
type PersonKeys = k ...
超详细的TypeScript入门教程!
超详细的TypeScript入门教程!
在看这篇文章之前,我是强烈推荐TypeScript 入门教程这本书的。因为这本书它是:从 JavaScript 程序员的角度总结思考,循序渐进的理解TypeScript。文章来源也是该书,但听我一句话:无论任何文档乃至官方自己出的文档都是有坑的,一定要去踩。一、什么是TypeScript? 1、T ...
从零搭建Vue3 + Typescript + Pinia + Vite + Tailwind CSS + Element Plus开发脚手架
项目代码以上传至码云,项目地址:https://gitee.com/breezefaith/vue-ts-scaffold
目录前言脚手架技术栈简介vue3TypeScriptPiniaTailwind CSSElement Plusvite详细步骤Node.js安装创建以 typescript 开发的vue3工程集成Pinia安装pinia修改main.ts创建一个store在组件中使用store集成Tailwind CSS安装postcss、sass、auto ...
深度掌握TypeScript中的重载【函数重载、方法重载】
深度掌握TypeScript中的重载【函数重载、方法重载】
1. 函数重载,方法重载的重要性
著名前端流行框架底层都用到函数重载,例如:Vue3 底层源码就多处使用到带泛型的函数重载。很多前端面试更是拿函数重载作为考核求职者 TS 技能是否扎实的标准之一,如果你不掌握函数重载,等于你的 TS 技能有缺失,技能不过关。
函数重载 ...
TypeScript入门到精通——TypeScript类型系统基础——数组类型
数组类型
数组是十分常用的数据结构,它表示一组有序元素的集合。在 TypeScript中,数组值的数据类型为数组类型。
一、数组类型定义
TypeScript 提供了以下两种方式来定义数组类型:
简单数组类型表示法
泛型数组类型表示法
1.1、简单数组类型表示法
在TypeScript中,你可以使用数组类型表示法来定义一 ...
一文弄懂TypeScript中的混合(Mixin)
1.前言
由于TypeScrip中的类不支持多继承,所以引入了混合(Mixin)的特性,可以间接实现多继承的效果。
2.正文
// 声明一个汽车类Vehicle,它有drive方法
class Vehicle {
drive(): void {
console.log('驾驶')
}
}
// 声明轿车类Car,它有work方法
class Car extends Vehicle{
work(): void {
console.lo ...
Typescript - 索引签名
1 索引签名概述
在 TypeScript 中,索引签名是一种定义对象类型的方式,它允许我们使用字符串或数字作为索引来访问对象的属性。
1.1 索引签名的定义和作用
索引签名通过以下语法进行定义:
{
[index: string]: type;
}
或者
{
[index: number]: type;
}
其中,index 是指定索引的名称,可以是 string 或 number ...
OpenApi(Swagger)快速转换成 TypeScript 代码 - STC
在现代的 Web 开发中,使用 OpenAPI(以前称为 Swagger)规范来描述和定义 API 已经成为一种常见的做法。OpenAPI 规范提供了一种统一的方式来描述API的结构、请求和响应,使得开发人员能够更好地理解和使用 API。
然而,手动编写与 OpenAPI 规范匹配的客户端代码或服务端框架可能是一项繁琐且耗时的任务。这就是为什么使用 ...
TypeScript 报错 解决
持续更新中
tsconfig.ts中报错
找不到“vite/client”的类型定义文件。
程序包含该文件是因为:
在 compilerOptions 中指定的类型库 "vite/client" 的入口点 原因
tsconfig.ts中已经配置 "types": ["vite/client"]
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"lib": ["DOM", "DOM.Itera ...
历史性的时刻!OpenTiny 跨端、跨框架组件库正式升级 TypeScript,10 万行代码重获新生!
大家好,我是 Kagol,OpenTiny 开源社区运营,TinyVue 跨端、跨框架组件库核心贡献者,专注于前端组件库建设和开源社区运营。
微软于3月16日发布了 TypeScript 5.0 版本。微软表示新版本体积更小、开发者更容易上手且运行速度更快。
根据 The Software House 发布的《2022 前端开发市场状态调查报告》数据显示,使用 T ...
在Vue3+TypeScript 前端项目中使用事件总线Mitt
事件总线Mitt使用非常简单,本篇随笔介绍在Vue3+TypeScript 前端项目中使用的一些场景和思路。我们在Vue 的项目中,经常会通过emits 触发事件来通知组件或者页面进行相应的处理,不过我们使用事件总线Mitt来操作一些事件的处理,也是非常方便的。
Mitt 的GitHub官网地址如下所示:https://github.com/developit/mitt, ...
TypeScript 学习笔记 — 类型兼容 (十)
目录一.基本数据类型的兼容性二.接口兼容性三.函数的兼容性四.类的兼容性类的私有成员和受保护成员五.泛型的兼容性六.枚举的兼容性标称类型简短介绍
TS 是结构类型系统(structural type system),基于结构/形状检查类型,而非类型的名字。
TS 中的兼容性,主要看结构是否兼容。(核心是考虑安全性),结构化的类型系统(又称 ...
TypeScript 5.0 发布
自 Beta 和 RC 以来有什么新功能?
自 TypeScript 5.0 Beta 以来的一个新区别是 TypeScript 允许在 export和export default 之前或之后放置装饰器。这一变化反映了 TC39(ECMAScript/JavaScript 的标准机构)内部的讨论和共识。
另一个是,是新的 bundler 模块解析选项只能在 --module 选项设置为&nb ...
monorepo实践:yarn workspace + vite + typescript + react
前言
最近需要用到多包管理 monorepo 开发新项目,所以提前预研一下项目搭建。
monorepo(monolithic repository)是一种项目架构,就是用一个仓库管理多个项目(应用,库),react和babel的源码仓库都是用这种方式在管理。
优缺点略过,可以参考:精读《Monorepo 的优势》。
因为不需要 npm 发包之类的,所以没用 lerna,就 ...
typescript 报错:Cannot find name 'Map'
问题
error TS2583: Cannot find name 'Map'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2015' or later.
typescript 默认使用 ES5,不支持 ES6.
尝试
根据以下链接,tsc -init 生成 tsconfig.json,修改其中的 target 、lib,结果无效。
Cannot find name ‘XX‘. Do y ...
如何优雅地在 React 中使用TypeScript,看这一篇就够了!
工作用的技术栈主要是React hooks + TypeScript。使用三月有余,其实在单独使用 TypeScript 时没有太多的坑,不过和React结合之后就会复杂很多。本文就来聊一聊TypeScript与React一起使用时经常遇到的一些类型定义的问题。阅读本文前,希望你能有一定的React和TypeScript基础。
一、组件声明
在React中,组件的声明方式有两 ...
Vue3+TypeScript 项目中,配置 ESLint 和 Prettier
接上篇:从0搭建vite-vue3-ts项目框架:配置less+svg+pinia+vant+axios
文档同步项目gitee:https://gitee.com/lixin_ajax/vue3-vite-ts-pinia-vant-less.git
一、Eslint:用于检测代码
安装eslint相关依赖
yarn add eslint eslint-plugin-vue @typescript-eslint/parser @typescript-eslint/eslint-plugin -D
esl ...
typescript中特殊符号(?/!)用法
1. 属性或参数中使用 ?:表示该属性或参数为可选项
2. 属性或参数中使用 !:表示强制解析(告诉typescript编译器,这里一定有值),常用于vue-decorator中的@Prop
3. 变量后使用 !:表示类型推断排除null、undefined
例如
private _options!: ChatBoxMsgItemOp ...
TypeScript 前端工程最佳实践
作者:王春雨
前言
随着前端工程化的快速发展, TypeScript 变得越来越受欢迎,它已经成为前端开发人员必备技能。 TypeScript 最初是由微软开发并开源的一种编程语言,自2012年10月发布首个公开版本以来,它已得到了人们的广泛认可。TypeScript 发展至今,已经成为很多大型项目的标配,其提供的静态类型系统,大大增强了代 ...