首页
学习
活动
专区
圈层
工具
发布

基于Typescript和Jest刷题环境搭建与使用

写在前面 前几个月在公司用vue3 https://v3.vuejs.org/和ts写项目,想巩固一下基础,于是我想起了去年基于JavaScript和Jest搭建的刷题环境https://zhengjiangtao.cn.../coding,不如,给它搞个加强版,结合Typescript和Jest https://jestjs.io/搞一个刷题环境https://zhengjiangtao.cn/coding-ts/,下面是我的一些使用心得...环境搭建 前期工作 这里统一用yarn https://yarnpkg.com/来进行相关的npm 包https://www.npmjs.com/安装与维护,使用其他安装管理工具的参照着这个改吧。...这个包 安装jest的开发环境依赖 yarn add jest ts-jest @types/jest -D 配置jest.config.js /** @type {import('ts-jest/dist...", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended",

1.4K40

如何在 TypeScript 中使用函数

在本教程中,我们将从使用类型信息创建最基本的函数开始,然后,转到更复杂的场景,例如,使用剩余参数和函数重载。...要在 macOS 或 Ubuntu 18.04 上安装,请按照如何在 macOS 上安装 Node.js 和创建本地开发环境或如何在 Ubuntu 18.04 上安装 Node.js 的使用 PPA 安装部分中的步骤进行操作.... (1016) 键入的箭头函数表达式 到目前为止,本教程已经展示了如何在 TypeScript 中键入使用 function 关键字定义的普通函数。...本节将介绍如何在 TypeScript 中使用函数重载。...结论 函数是 TypeScript 中应用程序的构建块,在本教程中,我们学习了如何在 TypeScript 中构建类型安全的函数,以及如何利用函数重载来更好地记录单个函数的所有变体。

16.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    qsort函数的使用和模拟实现排序

    本文介绍: 1.qsort函数的构成 2.qsort的使用 3.用qsort的实现原理模拟实现可排序所有类型数据的冒泡排序 自我介绍:一个脑子不好的大一学生,c语言接触还没到半年,若涉及到效率等问题,各位都可以在评论区提出见解...文章特点:会将重要步骤和易错点在代码中用注释标示(方便各位理解和定位) 1.qsort函数的构成 qsort是一个强大的函数,它可以比较任何类型的数据,整型已是so easy,它还可以比较浮点数,字符,...甚至是结构体,但是先别急,容我先讲讲它的构成再将其使用 由图可知,qsort函数的返回类型为int,第一个参数为void*,第二个和第三个参数为size_t,也就是unsigned int,第四个参数为函数指针...void*的原因与之前一样,它方便接受各种类型的数据 (4)_cdecl: 函数调用约定,这里就需要你自行了解啦,它在这里作用不大,我就不进行叙述啦 2.qsort函数的使用 (这里就主要介绍cmp比较函数的构成啦...,其他部分在后续代码中就能理解啦) cmp函数: 比较函数,我将对它分为自定义类型数据比较和自带类型分别进行介绍 我们要设计一个比较函数,先要搞清它的返回类型和参数,而这里在前面的qsort函数的介绍部分就可知

    25810

    【C语言】内存函数的使用和模拟实现

    一、memcpy的使用和模拟实现    在之前我们学习了使用和模拟实现strncpy函数,它是一个字符串函数,用来按照给定的字节个数来拷贝字符串,那么问题来了我们想拷贝的不是字符串,而是整型、浮点型的数据...如果source和destination有任何的重叠,复制的结果都是未定义的    接下来我们来简单使用一下这个函数,用它来拷贝一个整型数组,如下: #include #include...我们来试着模拟实现一下这个函数,就会发现其实并不难,它会结合我们学过的qsort实现和strcpy实现的知识,现在我们赶紧来实现一下吧!...,我们实现的momcpy已经满足C语言的规定了,已经合格了,没有问题 二、memmove的使用和模拟实现    memmove函数相当于时memcpy函数的进阶版,它不仅可以实现C语言规定的memcpy...(6)经过简单的思考,我们可以发现在上图的情况下,从前往后进行拷贝居然又可以了,问题就在于我们如何判断什么时候从前往后拷贝,什么时候从后往前拷贝 (7)我们可以根据dest和src的位置判断,当目标空间首地址

    25610

    【React】1427- 如何使用 TypeScript 开发 React 函数式组件?

    在我们使用 React 开发项目时,使用最多的应该都是组件,组件又分为「函数组件」和「类组件」,我们可以这么定义: 定义函数组件 function Welcome(props) { return...TypeScript 定义函数式组件的 4 种方法,还有几个使用过程中需要注意的问题。...如何使用 TypeScript 定义函数式组件 函数式组件通常接受一个 props 参数,返回一个 JSX 元素或者 null。...当我们需要使用 TypeScript 去定义一个函数式组件时,我们有 4 种方式,4 种方式各有各的优缺点,看具体情况使用。 1....使用 React.FC 由于 React 不是使用 TypeScript 开发的,使用的是社区开发的 @type/react 包提供的类型,里面有一个通用类型 FC ,允许我们为函数组件添加类型。

    7.1K10

    字符串函数(5)strstr函数的使用和模拟实现

    两天没写博客了,今天更新一篇字符串函数,这个strstr函数比前几个字符串函数难一点,我尽量写详细一点。...strstr函数 strstr函数的功能 Returns a pointer to the first occurrence of str2 in str1, or a null pointer if...下面开始讲strstr函数的模拟实现。 strstr函数的模拟实现 所有的解释都放在代码里面啦,大家要认真看哦,我很认真找写欸。...使用了s1和s2就可以不改变str1和str2指向的东西,每一次循环重新将str1和str2赋给s1和s2就可以了。...return str1; while (*cp)//用两个循环嵌套,第一个循环 { s1 = cp;//cp的作用是记忆str1的位置,如果目的字符串为"abbbcd"子字符串为"bbc"记忆就显得极为重要了

    24610

    Jest:给你的 React 项目加上单元测试

    Jest 是一款轻量的 JavaScript 测试框架,它的卖点是简单好用,由 facebook 出品。本文就简单讲讲如何使用 Jest 对 React 组件进行测试。 为什么需要单元测试?...单元测试(Unit Testing),指的是对程序中的模块(最小单位)进行检查和验证。比如一个函数、一个类、一个组件,它们都是模块。 使用单元测试的优点: 更好地交付高质量代码。...Jest 基本使用 我们先写一个简单的函数,作为被测试的模块。...React Testing Library 本文不讲解安装和配置,我们先用 CreateReactApp 来搭建项目,并使用 TypeScript 模板。...React Testing Library 是 以用户为角度 的测试库,能够模拟浏览器的 DOM,将 React 组件挂载上去后,我们使用其提供的一些模拟用户操作的 API 进行测试。

    3.5K20

    字符函数和字符串函数的使用及模拟实现(上)

    ---- 前言 重点介绍处理 字符和字符串 的库函数的使用和注意事项 一、函数介绍 1.strlen  strlen,是字符串长度的函数 返回类型为 size_t 及无符号整型unsigned int...---- ---- 长度受限的字符串函数 5.strncpy 多增加了一个字节个数,即拷贝几个字节,更加有了限制 这样会更多考虑源字符串和目的字符串的空间大小,更加的严谨!!...二、模拟实现 1.strlen 代码如下(示例): 法一:计数器方式 #include #include int my_strlen(char* p) { assert...char arr1[6] = "aa"; char arr2[] = "bbbbb"; my_strncat(arr1, arr2,3); printf("%s", arr1); } 总结 在使用字符串函数的时候...,要注意的是函数的返回值和参数的使用,以及源字符串和目的字符串的空间大小!

    78610

    如何使用 Nx、Next.js 和 TypeScript 构建 Monorepo

    我们将讨论使用Nx开发工具管理 monorepo 的优势,并学习如何使用这些工具构建Next.js应用程序。 本文的代码可在GitHub上找到。您可以在此处找到我们正在构建的应用程序的工作演示。...使用 monorepo 有多种优点: 包的更新要容易得多,因为所有应用程序和库都在一个存储库中。由于所有应用程序和包都在同一个存储库下,因此可以轻松测试和交付添加新代码或修改现有代码。...,可以阅读有关如何使用 nvm 安装多个版本的 Node.js 的更多信息。...该createClient函数负责使用graphql-hooks包创建 GraphQL 客户端。...结论 在本文中,我们学习了如何利用 Nx 构建带有 Next.js 和样式化组件的 monorepo。我们还了解了使用 monorepos 如何提高开发体验和构建应用程序的速度。

    6.5K51

    如何使用 React、TypeScript、TailwindCSS 和 Vite 创建 Chrome 插件

    创建一个 Chrome 插件是一个有趣的项目,特别是当结合使用强大的工具如 React、TypeScript、TailwindCSS 和 Vite 时 在这篇文章中,我们将逐步引导完成整个过程,了解如何在...让我们使用现代 Web 技术来创建一个 Chrome 插件:React 用于构建用户界面,TypeScript 提供类型安全,TailwindCSS 用于样式设计,Vite 提供快速的开发体验。...设置开发环境 安装 Node.js 和 npm 首先,从官方网站下载并安装 Node.js。这也会安装 npm,你将使用它来管理项目依赖项。...这个文件包含关于扩展的元数据,包括其名称、版本、权限和将使用的后台脚本。 Chrome 插件的关键组件 一个典型的 Chrome 插件包括: 后台脚本:在后台运行并处理事件。...结论 使用 React、TypeScript、TailwindCSS 和 Vite 创建一个 Chrome 插件是提升开发技能的好方法,并通过尝试新功能和技术不断学习。

    1.5K10

    不使用回调函数的ajax请求实现(async和await简化回调函数嵌套)

    虽然这种回调嵌套的场景在web前端开发中比较罕见, 但在nodejs服务器端开发领域还是常见的。 那如何克服这个问题?假如用php来写, 那便是一件很轻松的事了。...在两个关键字是es7的范畴, es6还不支持,但是可以通过特定的工具将使用这两个关键字的代码转为es6的代码去执行, 比如说typescript和babel, 在此文中使用的代码示例都是由typescript...先把上面用JavaScript实现的多层嵌套回调用同步的方式来改写, 代码如下 代码由ajax和run这两个函数组成, ajax是对jquery ajax的封装,使之能不使用回调函数就能获得ajax的响应结果...有两种方法,一种是直接调用, 直接调用的话函数前面async关键字就被忽略了, 调用函数返回的结果就是一个Promise对象, Promise对像如何使用在这里不进行深究,大致就是像下面这样的写法 还是以回调函数的形式出现...至于Promise中的reject,就是用来抛异常的, 在外await调用之外可使用try catch捕获,代码如下 此文只是纯粹的讲解 await和async能起什么样的作用?如何使用?

    3.3K50

    在js项目中提高维护代码的清晰性和可维护性方法有那些?

    编写清晰的注释: 在复杂函数和方法上方添加文档注释,说明其作用、参数、返回值等信息。 使用JSDoc等文档生成工具自动生成API文档。 编写可读的代码: 使用有意义的变量名和函数名。...避免使用复杂的嵌套和过长的函数。 使用类型检查: 使用TypeScript等静态类型语言或Flow等类型检查工具来减少运行时错误。 为函数和变量添加明确的类型声明。...编写单元测试: 使用Jest、Mocha等测试框架为代码编写单元测试。 使用断言库(如Chai、Expect等)来验证代码的行为是否符合预期。...使用模拟(Mocking)和存根(Stubbing)技术来隔离测试环境。 代码审查: 实施代码审查制度,让团队成员相互检查代码质量。...使用Linting工具: 使用ESLint等Linting工具来检查代码中的潜在问题,如未使用的变量、不必要的嵌套等。

    21710

    从Java全栈到Vue3实战:一次真实面试的深度复盘

    **应聘者(28岁,硕士学历,5年经验)**:好的,我主要负责后端服务的开发和维护,使用的是Spring Boot和MyBatis框架,同时我也参与了前端页面的开发,用的是Vue3和Element Plus...我会把一些公共逻辑提取成自定义的Hook函数,这样可以提高代码的复用性和可维护性。比如,我可以写一个`useFetch`的Hook来封装HTTP请求逻辑。...看来你对Vue3的使用已经相当熟练了。那么,你在项目中有没有用到TypeScript?它是如何帮助你提升代码质量的? **应聘者**:是的,我们整个项目都是用TypeScript写的。...那你能说说你在项目中是如何进行单元测试的吗?有没有使用过Jest或者Mocha? **应聘者**:我们主要使用Jest来进行单元测试。...单元测试实践 - 使用Jest进行前端组件测试 - 使用JUnit 5进行后端逻辑测试 - 编写测试用例时注重边界条件和异常处理 ### 5.

    8110

    Jest单元测试之旅—实践总结

    这里简单搭建typescript+jest环境已供我们学习使用。...resolves/rejects:Jest会等待异步函数执行完毕该方法应该和async/await配合使用 手动调用done:在我们没有调用done之前,当前测试不会结束,直至调用done方法,有点类似回调...setTimeout\setInterval,刚刚在异步用例中wait函数其实就是通过setTimeout进行包装的,这个示例中我们重点分析应该如何测试定时器。...每个方法都有不同的使用场景,每个API都会生成一个mock模拟函数,Jest对模拟函数提供了很多方法给予我们模拟方法的返回、实现等等,可移至文档参考 jest.fn jest.fn主要是创建一个模拟函数...jest.mock模拟部分函数,这里使用了jest.requireActual,该方法主要是绕过模拟模块导出真实模块,然后通过jest.mock的工厂函数重新去定义该模拟模块的内容,这种方式就可以指定导出的模块具体哪些方法需要被模拟

    11.2K20
    领券