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 ...
在基于vue-next-admin的Vue3+TypeScript前端项目中,为了使用方便全局挂载对象接口
在基于vue-next-admin 的 Vue3+TypeScript 前端项目中,可以整合自己的 .NET 后端,前端操作一些功能的时候,为了使用方便全局挂载的对象接口,以便能够快速处理一些特殊的操作,如消息提示、辅助函数、正则测试等等。本篇随笔介绍在Vue3+TypeScript 前端项目中全局挂载对象$u,获得相关 $u_interface 的统 ...
在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 发展至今,已经成为很多大型项目的标配,其提供的静态类型系统,大大增强了代 ...
如何发布一个 TypeScript 编写的 npm 包
前言
在这篇文章中,我们将使用TypeScript和Jest从头开始构建和发布一个NPM包。
我们将初始化一个项目,设置TypeScript,用Jest编写测试,并将其发布到NPM。
项目
我们的库称为digx。它允许从嵌套对象中根据路径找出值,类似于lodash中的get函数。
比如说:
const source = { my: { nested: [1, 2, 3] } }
digx(source, "my ...
基于SqlSugar的开发框架循序渐进介绍(22)-- Vue3+TypeScript的前端工作流模块中实现统一的表单编辑和表单详情查看处理
在工作流页面中,除了特定的业务表单信息外,往往也需要同时展示通用申请单的相关信息,因此在页面设计的时候需要使用一些组件化的概念来实现动态的内容展示处理,本篇随笔介绍Vue3+TypeScript+ElementPus的前端工作流模块中实现统一的表单编辑和表单详情查看处理。
1、查看申请单的模块设计处理
在工作流处理表中,首先我 ...
SpringBoot学习笔记(八)——JWT、(Vue3、Axios、Vue-Router、TypeScript实现授权与验证示例)
一、JWT概要
1.0、认证方式
1.0.1、基于Session的认证
基于session认证所显露的问题:
Session: 每个用户经过我们的应用认证之后,我们的应用都要在服务端做一次记录,以方便用户下次请求的鉴别,通常而言session都是保存在内存中,而随着认证用户的增多,服务端的开销会明显增大。
扩展性: 用户认证之后 ...
《Vue3.x+TypeScript实践指南》已出版
转眼回长沙快2年了,图书本在去年就已经完稿,因为疫情,一直耽搁了,直到这个月才出版!疫情之下,众生皆苦!感觉每天都是吃饭、睡觉、上班、做核酸!
图书介绍
为了紧跟技术潮流,该书聚焦于当下火的Vue3和TypeScript及其相关技术,这些知识是面试Vue方向前端岗位时必须掌握的内容。该书站在初学者的视角, ...