typescript

a Higher Kinded Type package in TypeScript

a Higher Kinded Type package in TypeScript Weykon [一名学生](weykon.com) ​关注他 ​ 展开目录 Higher-Kinded-Types-Toolbelt Higher-Kinded-Types-Toolbelt(gitee) ts-t ......
TypeScript package Higher Kinded Type

How to fix TypeScript error: expression of type can't be used to index type All In One

How to fix TypeScript error: expression of type can't be used to index type All In One type guard ......
type TypeScript expression error index

TypeScript: Factory Method in TypeScript

npm install -g typescriptnpm install -g ts-node index.ts //import * as fs from "fs"; //TypeScript 工厂方法模式 Factory Method in TypeScript /** * The Creato ......
TypeScript Factory Method in

typescript: vscode 配置环境

可以在Node.js command prompt 下,转到项目文件,进行命令行配置 https://code.visualstudio.com/docs/typescript/typescript-tutorial npm install -g typescript npm init -y tsc ......
typescript 环境 vscode

Typescript 测试驱动开发 TDD (17)

使用async await 如果一个异步函数正在使用Promises,那么我们可以使用async await语法来运行测试,就像我们通常做的一样。例如,考虑以下类,它使用Promise返回一个值,如下所示: 1 class AsyncWithPromise { 2 delayedPromise(): ......
Typescript TDD 17

[转] 记sublime配置typescript开发环境(插件和编译)的二三事

最近这几天在了解typescript,typescript官网上说Visual Studio 2017和Visual Studio 2015 Update 3默认包含了TypeScript,网上也有很多前辈推荐vscode。但是自己习惯上用sublime,本着编辑器能不换就不换的原则(懒人原则),还 ......
typescript 插件 sublime 环境

typescript_error_函数实现重复

在对ts文件执行编译后, 即执行tsc命令后, 函数名报错:"函数实现重复", 原因是新生成的同名js文件中包含了同样的函数名被识别到 在.ts文件目录下执行tsc --init生成tsconfig.json文件, 之后再编译就不会报错了( 注意必须是.ts文件的目录, 我在对D:/test/typ ......
typescript_error typescript 函数 error

typescript

枚举: enum 这样一个代码输出: a = {} a['one'] = 1 console.log(a['one'] = 1) => 输出 1 !!! 所以 a[a['one'] = 1] = 'one' => { "1": "one", "one": 1,} 就有枚举那味了!!!! ......
typescript

Typescript 测试驱动开发 TDD (16)

使用 done Jest 提供了一个名为 done 的方法,用于表示测试运行应该等待异步调用完成。done 函数可以作为参数传递给任何 beforeAll、beforeEach 或 it 函数,并且允许我们的异步测试在继续之前等待 done 函数被调用。让我们使用 done 重写我们之前失败的测试如 ......
Typescript TDD 16

Typescript 测试驱动开发 TDD (15)

异步测试 (Asynchronous tests) 正如我们在探索JavaScript和TypeScript时所看到的,我们编写的大部分代码都是异步的。这意味着我们无法准确控制回调函数何时被调用,或者Promise何时解析,因为我们正在等待一个超出我们控制范围的事件发生。这经常在单元测试中引起问题, ......
Typescript TDD 15

Typescript 测试驱动开发 TDD (14)

返回值的监视器 (Spies returning values) 当我们希望模拟函数的返回值时,我们可以轻松地从模拟实现中返回一个值。作为示例,请考虑以下类: 1 class MyMockedClass { 2 functionToBeMocked(): number { 3 return 5; 4 ......
Typescript TDD 14

Typescript 测试驱动开发 TDD (13)

Jest 监视器 (Jest spies) Jest还提供了一种能够检查特定类方法是否被调用的能力,使用的是所谓的spy。考虑以下类定义: 1 class MySpiedClass { 2 testFunction() { 3 console.log(`testFunction() called`) ......
Typescript TDD 13

Typescript 测试驱动开发 TDD (12)

Jest模拟 (Jest mocks) 在测试我们的代码时,我们经常遇到这样的情况:我们希望确保某个特定函数被调用,或者它被使用正确的参数进行了调用。当一个特定函数按顺序调用其他函数以执行一些业务逻辑时,这种情况最常见。例如,我们可能会调用一个初始化函数,并且该初始化函数可能会调用多个REST服务来 ......
Typescript TDD 12

Typescript 测试驱动开发 TDD (11)

数据驱动测试 (Data-driven tests) 很多时候,我们需要运行相同的测试多次,只是输入值不同。作为这个的一个例子,请考虑以下测试: [1, 2, 3, 4, 5] .forEach((value: number) => { it(`${value} should be less tha ......
Typescript TDD 11

Typescript 测试驱动开发 TDD (10)

测试设置和拆卸 ( Test setup and teardown) 在运行特定的测试之前,我们可能希望先执行一些代码。这可能是为了初始化一个特定的变量,或者确保对象的依赖关系已经设置好。同样地,我们可能希望在特定的测试运行后执行一些代码,甚至在整个测试套件运行完毕后执行。为了说明这一点,请考虑以下 ......
Typescript TDD 10

typescript_error_运算符“+”不能应用于类型“Number”和“Number”

function add_(num1: Number, num2: Number) { return num1 + num2 } console.log(add_(5, 7)) Number 是一个 Interface, number 才是表示类型,换成小写就可以了 function add_(nu ......

Typescript 测试驱动开发 TDD (9)

匹配器 (Matchers) 1. toBeJest 使用所谓的匹配器来将测试中的预期值与接收到的值进行匹配。让我们快速看一下其中一些匹配器,如下所示: 1 it("should match with toBe", () => { 2 expect(1).toBe(2); 3 }); 在这里,我们使 ......
Typescript TDD

Typescript 测试驱动开发 TDD (8)

强制运行和跳过测试 (Forcing and skipping tests) 在处理一个已经编写了多个测试的应用程序时,我们通常只想运行特定的测试或者一组特定的测试。这种操作被称为强制运行测试,因为我们要求整个测试套件只运行指定的测试。可以通过以下两种方式来实现: 1 describe("a gro ......
Typescript TDD

Typescript 测试驱动开发 TDD (7)

分组测试 (Grouping tests) 在一个测试规范文件中,我们可能希望将我们的测试分组为逻辑集合。Jest 使用 describe 函数来实现这个目的,如下所示的测试代码: 1 describe("a group of tests", () => { 2 test("first test", ......
Typescript TDD

Typescript 测试驱动开发 TDD (6)

观察模式 (Watch mode) Jest和其他测试框架一样,也可以在观察模式下运行。这意味着它会监视项目中的所有文件,并在任何文件更改时自动重新运行任何测试。让我们按照以下方式更新我们的package.json文件: { ... "scripts": { "test": "jest --watc ......
Typescript TDD

记录 umi4 ant design pro typescript 在 vscode 代码提示错误的问题

原因是vscode 使用的ts版本与项目不匹配。 修复方法: 在vscode拓展【左侧4个方框的图标】搜索 typescript 下载安装插件 JavaScript and TypeScript Nightly 然后使用ctrl+shift+p 调出命令,使用 Select TypeScript v ......
typescript 错误 代码 design vscode

Typescript 测试驱动开发 TDD (5)

ts-jest Jest 是一个 JavaScript 测试框架,因此它会在我们的项目中寻找 JavaScript 测试来运行。我们可以运行 TypeScript 编译器生成 JavaScript 文件,或者使用像 ts-jest 这样的框架。ts-jest 是一个 TypeScript 到 Jes ......
Typescript TDD

Typescript 测试驱动开发 TDD (4)

Jest Jest是一个简单易配置且功能强大的JavaScript单元测试框架,它构建在流行的Jasmine框架之上。Jasmine已经存在很长时间了,是一个成熟、功能齐全且广泛使用的测试框架。Jest通过使配置更加容易,并提供丰富的额外功能来增强Jasmine。Jest还可以并发运行测试,这显著加 ......
Typescript TDD

Typescript 测试驱动开发 TDD (1)

在JavaScript开发的现代世界中,有许多不同的前端框架可供我们用来编写应用程序,从旧的框架如Backbone.js到较新的Angular、React和Vue等。这些框架通常使用模型视图控制器(MVC)设计模式或其变体之一,例如模型视图表现器(MVP)或模型视图视图模型(MVVM)。当将这组模式 ......
Typescript TDD

如何使用react + typescript + nodejs + socketjs 开发一个好看实用的聊天室?

序言 自毕业以来这三个月一直忙于工作和与朋友们的聚会,很久没有专注于学习开发技术和编写个人项目了。但我深知学习如逆水行舟,不进则退,因此下定决心不能再这样下去,我需要努力提升自己。正好之前一直有个想法,就是利用React配合Node.js开发一个项目。经过两天的时间进行技术选型和选择UI,确定好了方 ......
typescript socketjs 聊天室 nodejs react

typescript_typescript的下载与手动编译

下载 npm install -g typescript 编译.ts文件为.js文件 tsc ./typescript/test1.ts 上面这个命令会在test1.ts的所属目录中创建一个同名的test1.js文件 ......
typescript typescript_typescript 手动

[Typescript] WidenLiteral<T>

type WidenLiteral<T> = T extends string | number | boolean ? ReturnType<T["valueOf"]> : T; type Example1 = WidenLiteral<"abc"> // string type Example2 ......
WidenLiteral Typescript lt gt

How to use ESM & TypeScript in Node.js All In One

How to use ESM & TypeScript in Node.js All In One { "compilerOptions": { "module": "NodeNext", // "module": "Node16", } } { "name": "esm-ts-package", ......
TypeScript Node How ESM All

一文弄懂TypeScript中的混合(Mixin)

1.前言 由于TypeScrip中的类不支持多继承,所以引入了混合(Mixin)的特性,可以间接实现继承的效果。 2.正文 // 声明一个汽车类Vehicle,它有drive方法 class Vehicle { drive(): void { console.log('驾驶') } } // 声明轿 ......
TypeScript Mixin

TypeScript封装验证函数(电话、邮箱、URL、数字、银行卡、税号)

/** * 验证手机号码或者电话号 * */ export function isMobileTel(rule: any, value: any, callback: any) { if (!value) { // return callback(new Error('输入不可以为空')) retu ......
银行卡 TypeScript 函数 邮箱 数字