typescript

TypeScript 工具类型

1. typeof 1.1 判断类型 typeof关键字可以用于判断变量的类型,如:"string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"。 类型保护是可执行运行时检查的一 ......
TypeScript 类型 工具

typescript装饰器(decorator)笔记

介绍: 随着TypeScript和ES6里引入了类,在一些场景下我们需要额外的特性来支持标注或修改类及其成员。 装饰器(Decorators)为我们在类的声明及成员上通过元编程语法添加标注提供了一种方式。 Javascript里的装饰器目前处在建议征集的第三阶段,但在TypeScript里已做为一项 ......
typescript decorator 笔记

Vscode提示"Option 'importsNotUsedAsValues' is deprecated and will stop functioning in TypeScript 5.5...."

完整错误如下。点击错误信息会定位到tsconfig.json和tsconfig.node.json两个文件。 Option 'importsNotUsedAsValues' is deprecated and will stop functioning in TypeScript 5.5. Spec ......

关于typescript引入第三方js文件

一、通过 require 方法 1.1. 安装 @types/node 并在 tsconfig.json 配置,如下图所示。 npm i @types/node 1.2. 在ts或vue中引入 const vc: any = require('@/libs/VCtrl.js') 二、通过 decla ......
第三方 typescript 文件

TypeScript学习笔记-尚硅谷TypeScript教程(李立超老师TS新课)

TypeScript学习笔记-尚硅谷TypeScript教程(李立超老师TS新课)https://blog.csdn.net/m0_46549017/article/details/124626987?ops_request_misc=&request_id=&biz_id=&utm_medium= ......
TypeScript 老师 笔记 教程

[Typescript] Write clean Type 3 - make a wrapper to cleanup generic usages

Original code: import { CSSProperties } from "react"; const useStyled = <TTheme = {}>(func: (theme: TTheme) => CSSProperties) => { // Imagine that thi ......
Typescript cleanup generic wrapper usages

TypeScript:交叉类型

交叉类型 又是TS的一个骚操作。他可以把多个类或接口,合并他们的所有属性和方法为一个新的类型: interface PersonA{ name: string; } interface PersonB{ age: number; sayHi(): void; } type Person = Pers ......
TypeScript 类型

TypeScript keyof 和 typeof

typeof typeof 是 JS 本身就有的一个操作符,只不过在 TS 中多了一个功能。typeof 在 JS 中是获取变量的类型字符串: console.log(typeof 42); // "number" console.log(typeof 'blubber'); // "string" ......
TypeScript typeof keyof

TypeScript extends

extends 的含义 extends 在接口和类中都是继承的意思,继承之后的子接口或子类都是属于这个父接口或父类的,是一个从属关系。 extends 还有一个重要的用法就是在类型中,依旧还是继承的意思,是一种从属关系。如下的例子所示: interface Animal { name: string ......
TypeScript extends

TypeScript type 关键字和 interface 关键字

前言 type 和 interface 都可以声明 TS 类型。 type Point1 = { x: number; y: number; }; interface Point2 { x: number; y: number; }; 它们两个声明这个对象类型有任何区别吗?很明显没有,我认为最能区分 ......
关键字 关键 TypeScript interface type

TypeScript 报错:Type '({ filename: string; createTime: string; filePath: string; fileId: number; } | undefined)[]' is not assignable to type 'PiFile[]'.

问题: 因为TypeScript不支持直接给一个接口类型的变量 赋一个未知的值。 如 const a:A = { name:'s' }; 你需要给这样的对象或数组值使用as 指定一个类型。 正确写法: const a:A = { name:'s' } as A; 数组写法一样: const a:A[ ......
string 39 TypeScript createTime assignable

typescript vue3 VueDraggable 报错 Uncaught TypeError: Cannot read properties of null (reading 'element')

Uncaught TypeError: Cannot read properties of null (reading 'element') nnot read properties of null (reading 'index') 错误写法 就是说子组件需要用div包着,你用其他东西,他无法添加 ......

TypeScript:高级类型

class类型 class类型,和Java差不多。 class Person { name: string; age: number = 0; } let person = new Person(); 构造函数 class Person { name: string; age: number = 0 ......
TypeScript 类型

TypeScript:函数兼容性问题

函数兼容性 大家在JS中经常可以看到这样的代码: lisr.forEach( (item) => {}); lisr.forEach( (item,index) => {}); 就是()的参数有时是可以省略的,而这个正式函数的兼容性性质。说白了就是: 多的函数 = 少的函数;参数少的函数可以赋值给参 ......
兼容性 TypeScript 函数 问题

TypeScript:常用类型约束

JS已有的数据类型如number、string、null....但并没有进行类型限制 所以,TS在支持JS全部类型的类型注解基础上,自己还加了一些新类型和新类型注解。 JS已有类型 基础类型:number , string ,boolean , null, undefined, symbol 对象类 ......
TypeScript 常用 类型

TypeScript:字面量类型

我是做Java的,看到这个字面量类型震惊我三观,原来设计类型可以这么草率。 先说吧,字符串、数字、对象、布尔类型的常量值,可以作为字面量类型。是的,是常量值作为类型。举个下面例子: const name:'zhangsan' = 'zhangsan' const age:18 = 18 const ......
字面 TypeScript 类型

TypeScript:类型断言

TS中有类型推断的机制,就是你不指定常量类型,TS会自动帮你推动,如下: 但他这种推断机制,是基于高层的父元素,很多子元素的方法和属性使用用不到,这样我们得手动的进行类型断言,使用 [as 元素类型],如下: 如果你不知道此标签的元素类型,可以通过下面的方式: 找到自己知道类型的标签类型,指着这个标 ......
TypeScript 类型

TypeScript:可选参数

TS中定义的函数参数,默认都是必传的,不然编译不过。如果想指定参数是可选,在参数后加?即可,如下: function add(num1?: number,num2?: number): void{ } 注意:可选参数后面是不能有必填参数的,举个反例: function add(num1?: numb ......
TypeScript 参数

第十四篇 手写原理代码 - typeScript 【 实现 required、returnTypes、Partial、readOnly 】

在 TypeScript 中实现 required、returnTypes、Partial、readOnly 等功能可以帮助开发者更加方便地处理数据类型,减少在代码中出现的错误,提高代码的可维护性和健壮性 1、实现 required 使可选属性变为必填属性 type MyRequired<T> = ......

[Typescript] Write clean Type 2 - Reduce the usage in generic slot

This the following code example, test have passed for both run time and compile time: import { expect, it } from 'vitest'; import { Equal, Expect } fr ......
Typescript generic Reduce Write clean

[Typescript] Inferring Literal Types from any Basic Type

export const inferItemLiteral = <T>(t: T) => { return { output: t, }; }; const result1 = inferItemLiteral("a"); // ? {output: string} /* vs */ export ......
Typescript Inferring Literal Basic Types

[Typescript] Generic slots, using built-in types as much as possible

There are two options doing the same things. const makeSafe = <TParams extends any[], TReturn>(func: (...args: TParams) => TReturn) => ( ...args: TPar ......
Typescript built-in possible Generic slots

Typescript实现指定属性变成readonly

1. 存在的问题 typescript内置的Readonly类型只能为所有的属性加上readonly关键字,假设已经有如下的interface叫Circle: interface Circle { kind: "circle"; radius: number; x: number; y: numbe ......
Typescript readonly 属性

OpenTiny 跨端、跨框架组件库升级TypeScript,10万行代码重获新生

摘要:一份精心准备的《JS项目改造TS指南》文档供大家参考,顺便介绍TS 基础知识和 TS 在 Vue 中的实践。 本文分享自华为云社区《历史性的时刻!OpenTiny 跨端、跨框架组件库正式升级 TypeScript,10 万行代码重获新生!》,作者:Kagol。 根据 The Software ......
TypeScript 组件 框架 OpenTiny 新生

TypeScript必知三部曲(一)TypeScript编译方案以及IDE对TS的类型检查

TypeScript代码的编译过程一直以来会给很多小伙伴造成困扰,typescript官方提供tsc对ts代码进行编译,babel也表示能够编译ts代码,它们二者的区别是什么?我们应该选择哪种方案?为什么IDE打开ts项目的时候,就能有这些ts代码的类型定义?为什么明明IDE对代码标红报错,但代码有 ......
TypeScript 三部曲 类型 方案 IDE

免费分享前端面试题,vue面试题,TypeScript基础知识点 PDF格式

免费分享前端资料,面试题,电子书 接前端开发,带徒弟,一对一教学,远程协助,bug修改 微信: ......
知识点 前端 TypeScript 格式 基础

TypeScript 学习笔记 — 自定义类型:部分属性可选,反选 key,求对象交差并补集等(十三)

上文中介绍了 对象操作的内置类型的使用,本文介绍几个基于内置类型,扩展的自定义类型,(类型名称自定义的) 将部分属性变为可选属性 实现思路:先将 name 属性挑出来变为可选的 & 除了 name 属性的 // 有时处理类型之后,对象类型结构不明显。只是简单做一个映射,并未其他意义。 type Co ......
TypeScript 属性 对象 类型 部分

思考 TypeScript namespace,复习 class 语法

前言 据我所知,早期 JavaScript 没有 class 语法,很多都是函数,即便是现在的 class 本质上也是一个函数。在这里不说函数与 class 之间的关系和区别。 下面将从 class 语法上讲解,阐述为什么有 class 以及作用; 对 class 语法进行了探讨之后,再思考 Typ ......
语法 TypeScript namespace class

微信公众号 过滤 typescript cheerio

E:\公众号文章采集\fi_filter_过滤器\src\exact_新浪博客手机版提取连接.js const fs = require('fs'); const jsdom = require('jsdom'); const { JSDOM } = jsdom; fs.readdir('./htm ......
typescript 公众 cheerio

TypeScript 报错 解决

持续更新中 tsconfig.ts中报错 找不到“vite/client”的类型定义文件。 程序包含该文件是因为: 在 compilerOptions 中指定的类型库 "vite/client" 的入口点 原因 tsconfig.ts中已经配置 "types": ["vite/client"] { ......
TypeScript