首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WebStorm for Mac(JavaScript开发工具)中文版

对Angular应用程序的新检查对于Angular应用程序,WebStorm添加了17新检查,可帮助您在键入时检测应用程序中的Angular特定错误,并建议快速修复。...Angular项目中的导航更容易Angular应用程序中,您现在可以使用相关符号...弹出窗口(Ctrl-Cmd-Up / Ctrl + Alt + Home)不同的组件文件(如TypeScript...这意味着您现在可以获得更准确的类型检查和类型信息,您将能够使用服务提供的快速修复程序,并在TypeScript工具窗口中查看当前文件中的所有TypeScript错误。...CSS的浏览器兼容性检查要检查目标浏览器版本是否支持您使用的所有CSS属性,可以首选项中启用新的 浏览器兼容性检查。...将项目另存为模板通过“ 工具”菜单中的新操作“ 另存为模板 ” ,您现在可以使用项目作为IDE欢迎屏幕创建新项目的基础。所选文件类型的软包装您现在可以在编辑器中为特定文件类型启用软包装。

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

    使用 TypeScript 改造构建工具及测试用例

    使用 TypeScript 改造构建工具及测试用例 最近的一段时间一直TypeScript,一个巨硬出品、赋予JavaScript语言静态类型和编译的语言。...第二个前后端的项目目前也重构中,关于前端基于webpack的TypeScript套路之前也有提到过:TypeScriptreact项目中的实践。...各种常用的规则都写在了这里,使用TypeScript的一个好处就是,当要实现一个功能时你不再需要去网站上查询应该要配置什么,可以直接翻看d.ts的定义。...使用方式 如果是之前有写过mocha和chai的童鞋,基本修改文件后缀+安装对应的@types即可。...之前关于 TypeScript 的笔记 TypeScriptnode项目中的实践 TypeScriptreact项目中的实践 一个完整的 TypeScript 示例 typescript-example

    1.5K40

    如何做前端单元测试

    必要性:JavaScript 缺少类型检查,编译期间无法定位到错误,单元测试可以帮助你测试多种异常情况。 正确性:测试可以验证代码的正确性,在上线前做到心里有底。...Jest 都有很大的优势,因此推荐你使用开箱即用的 Jest 如何开始?...设置单元测试覆盖率阀值 个人认为既然目中集成了单元测试,那么非常有必要关注单元测试的质量,而覆盖率则一定程度上客观的反映了单测的质量,同时我们还可以通过设置单元测试阀值的方式提示用户是否达到了预期质量.../src/utils/getIntArray'; test('getIntArray(3.3)应该抛出错误', () => { function getIntArrayWrapFn() {...传入一个正则表达式,它允许我们来进行字符串类型的正则匹配 .

    3.3K20

    如何制定企业级代码规范与检查

    前言 如何作出项目的亮点? 项目中遇到了什么问题? 解决问题的过程并且如何思考? 思考之后通过什么方式解决 最后这一个任务你学到了什么,给团队带来了什么价值,解决了哪些痛点。...本文目标 目标不是一次全部定出来的,实践和调研过程中会添加一些 去掉项目中原有的 TSLint ,统一使用 ESLint,但是 ESLint 中加入 TSLint 检测插件 Prettier 支持的格式化规则全部使用...typescript目中必须执行解析器为@typescript-eslint/parser,才能正确的检测和规范 typescript 代码 env 环境变量配置,形如 console 属性只有...此时运行 npm run lint 会看到少了两条报错信息,并不是说编码规范变了,而是 Eslint 自动修复了基础错误,打开 index.js 文件,可看到字符串自动变成了双引号,并且代码末尾也加上了分号...可惜的是 --fix 只能修复基础的不影响代码逻辑的错误,像 no-unused-vars 这种错误只能手动修改。

    2K20

    我们为什么要学习TypeScript

    使用不存在的变量、函数或成员方法 把一个不确定的类型当做一个确定的类型处理 使用null或者undefined的成员,JS开发错误排名第一个就是它 当一个函数返回一个对象,这个对象里有name属性,...但由于程序出错,没有返回对象,再使用name属性就会报错,如下: 开发的过程中,会遇到各种各样的错误,由于我们是人,不是机器,没有办法避免这样的错误,既然没有办法避免,那好歹在出错的地方提示我一下啊...JavaScript设计之初只是为了补充Java的,浏览器做一些小的效果,并不是为了做大型复杂项目而开发的,文章开头的小例子出了点错误,这还仅仅只是两个函数,大型项目中写的函数何其多,这就增加了出错率...这时TypeScript出来了,TypeScript就能解决这些问题,我们为什么要学ts,实际是为了提高我们开发周期,提高效率,能够缩减我们项目周期,少犯一些莫名其妙的错误 TypeScript语言特点...进行类型检查 可选的 就是类型系统可用可不用,除非你是神人,不写错误代码,不然没有任何理由不使用TS 静态的 静态就是类型检查发生的时间点是在编译的时候,而非运行时,因此就解决了js是解释性语言的问题,

    65330

    使用 TypeScript 和依赖注入实现一个聊天机器人

    翻译:疯狂的技术宅 来源:toptal 类型和可测试代码是避免错误的两种最有效方法,尤其是代码随会时间而变化。...此外,我们可以看到 Client 依赖是硬编码的。我们也将注入这个。 配置依赖注入容器 依赖注入容器是一个知道如何实例化其他对象的对象。通常我们为每个类定义依赖,DI 容器负责解析它们。...简而言之,我们的代码应该实现最佳实践(如 SOLID ),不隐藏依赖,不使用静态方法。 此外,它不应该在运行时引入副作用,并且很容易模拟。...恭喜你干净利落地用 TypeScript 和 DI 完成了它!这里的 TypeScript 依赖注入示例是一种模式,你可以将其添加到你的知识库中一遍在其他项目中使用。...仅仅使用类型就可以避免许多错误 TypeScript 中进行依赖注入会将更多面向对象的最佳实践推向基于 JavaScript 的开发。

    11.1K20

    说真的,不如用ESLint插件替代掉部分技术文档

    例如,某些时候,ESLint 可能会提供一种仅修复空白规则或仅修复代码的方法。目前,“空白”应该用于处理间距(缩进、属性之间的间距等)的任何规则,其他一切都标记为“代码”。...} 这里边最核心的就是context.report方法,用于向eslint报告错误,同时也可以通过该函数传递fix方法用于自动修复错误。...贴一下第一行的AST代码,实际入门eslint规则开发时,我们并不需要记忆下各个节点都有哪些属性,大多是需要的时候现查现场解析,根据需要的节点特征配合https://github.com/estree...那应该如何访问Program节点呢?...规则代码中,我们使用该值来判断导入语句的类型

    1K10

    初次Vue项目使用TypeScript,需要做什么

    JavaScript开发中经常遇到的错误就是变量或属性不存在,然而这些都是低级错误,而静态类型检查恰好可以弥补这个缺点。什么是静态类型?...其次,TypeScript 增加了代码的可读性和可维护性,类型定义实际就是一个很好的文档,比如在调用函数时,通过查看参数和返回值的类型定义,就大概知道这个函数如何使用。...,提供了类型定义文件(*.d.ts),开发者编写类型定义文件发布到npm,当使用者需要在 TypeScript目中使用该库时,可以另外下载这个包,让JS库能够 TypeScript目中运行。...为vue实例添加属性/方法 当我们使用this.route或一些原型的方法时,typescript无法进行推断,在编译时会报属性route不存在错误,需要为这些全局的属性或方法添加全局声明 对shims-vue.d.ts...建议及注意事项 改造过程 接入 TypeScript 时,不必一次性将所有文件都改为ts语法,原有的语法也是可以正常运行的,最好就是单个修改 初次改造时出现一大串的错误是正常的,基本都是类型错误,按照错误提示去翻译进行修改对应错误

    6.5K40

    以淘宝店铺为例,谈谈 TypeScript ESLint 规则集考量

    前言 ESLint 目中已经是大家见惯不惯的存在,你可能很厌烦动不动跳出来的 ESLint 报错,也可能很享受经过统一校验的工工整整的代码,无论如何,我的意见是,稍微正式点的项目中都要有 ESLint...,对于 TypeScript 代码进行约束的思考,以及如何在自己的团队内推广这一套规则。...array-type TypeScript 中支持使用 Array 与 T[] 的形式声明数组类型,此规则约束项目中对这两种数组类型的声明。...使用 {} 会让你寸步难行:类型 {} 不存在属性 'foo',所以用了 {} 你大概率在下面还需要类型断言回去或者变 any,使用 object Function 毫无意义。...并且会在下一行实际不存在错误时抛出一个错误

    2.7K30

    TypeScript 官方手册翻译计划【一】:基础

    静态类型检查 还记得之前我们将字符串作为函数调用时,抛出的 TypeError 错误吗?大多数开发者执行代码时不希望看到任何错误 —— 毕竟这些都是 bug!...也许你会觉得这是“理所当然的”,并且你会觉得,访问对象不存在属性时,也会抛出一个错误。但恰恰相反,JavaScript 的表现和我们的预想不同,它返回的是 undefined。...这很好,但更关键的是,它能够一开始就防止我们的代码出现错误类型检查器可以通过获取的信息检查我们是否正在访问变量或者其它属性的正确属性。同时,它也能凭借这些信息提示我们可能想要访问的属性。...你的程序使用越多的类型,那么验证和工具你的收益就越多,这意味着在编码的时候你会遇到越少的 bug。...启用 noImplicitAny 配置遇到被隐式推断为 any 类型的变量时就会抛出一个错误

    90310

    深度讲解TS:这样学TS,迟早进大厂【21】:代码检查

    TypeScript使用 ESLint§ 安装 ESLint§ ESLint 可以安装在当前项目中或全局环境下,因为代码检查是项目的重要组成部分,所以我们一般会将它安装在当前项目中。... VSCode 中集成 ESLint 检查§ 在编辑器中集成 ESLint 检查,可以开发过程中就发现错误,甚至可以保存时自动修复错误,极大的增加了开发效率。...true }, ], "typescript.tsdk": "node_modules/typescript/lib" } 就可以保存文件后,自动修复为: let myName...= 'Tom'; interface Foo {} 使用 Prettier 修复格式错误§ ESLint 包含了一些代码格式的检查,比如空格、分号等。...} 这样就实现了保存文件时自动格式化并且自动修复 ESLint 错误

    2.5K20

    4000字讲清 《深入理解TypeScript》一书 【基础篇】

    中写代码,尽可能的减少 any 的使用; 回到旧代码,开始添加类型注解,并修复已识别的错误; 为你的第三方 JavaScript 代码定义环境声明。...现在你已经知道当你使用 JavaScript 第三方模块时, 如何克服从 JavaScript 至 TypeScript 的阻力。接下去的内容,我们将会讨论环境声明。...但是,类型断言纯粹是一个编译时语法,同时,它也是一种为编译器提供关于如何分析代码的方法 类型断言通常被认为是有害的 很多情景下,断言能让你更容易的从遗留项目中迁移(甚至将其他代码粘贴复制到你的项目中)...,`job` 属性在这里并不存在。...WARNING 请注意,这种错误提示,只会发生在对象字面量 允许分配而外的属性: 一个类型能够包含索引签名,以明确表明可以使用额外的属性: let x: { foo: number, [x: string

    1.9K30

    TypeScript使用泛型:使用指南

    本质,泛型允许创建的组件可以多种类型上工作,而不是单一的类型。 其核心是,TypeScript 泛型语法允许尖括号内 内定义一个类型变量。...通过这个方法,这能函数能放心使用将会存在的传递过来的参数的 length 属性。 泛型中使用 keyof TypeScript 中 keyof 操作符可以泛型中结合使用,来确保属性名的类型安全。...]; } 当使用这个函数,TypeScript 确保传递过来的是存在对象的键,避免因为传递不存在属性生成运行时错误。...该章节中,我们将讨论使用使用泛型的基本技巧,以及如何避免可能导致复杂错误或降低代码可读性的错误。 命名泛型变量的最佳实践 命名泛型变量应该是直观的,如果可能,应该具有描述性。...避免泛型中常见的错误 使用泛型中一个常见的错误是假设一个泛型有确定的属性或者方法而没正确约束。这个会导致运行时错误。当我们希望一个类型变量有特定的行为,要时刻记得定义合适的约束。

    13210

    全网最全的,最详细的,最友好的 Typescript 新手教程

    几行之后,我们来看看这个函数的参数以及它们是如何使用的。仅通过查看代码,您就应该已经发现了问题(不,它不是Java)。...url"属性不存在类型字符串TypeScript。...match方法只对字符串有效,并且我们的索引有可能返回一个数字。为了修复这个错误,我们可以使用anyas作为一个解决方案: interface Link { description?...我们期待的是链接的数组,而不是字符串。要修复错误,请从过滤器末尾删除. tostring(),并再次编译代码。现在应该可以了! 我们向代码添加了另一层保护。当然,这个bug可以通过单元测试发现。...那么接口和类型之间应该使用什么呢?我更喜欢复杂对象的接口。TypeScript文档也建议了一种方法: 因为软件的理想属性是对扩展开放的,所以如果可能的话,应该始终类型别名使用接口。

    6K40

    Airbnb 是如何从 JavaScript 迁移到 TypeScript 的?

    一份文件一份文件地逐步部分迁移,修复类型错误,不断重复直到整个项目迁移完成。...其 allowJS 配置选项允许我们目中同时拥有 TypeScript 和 JavaScript 文件,这使得这种方案变得可行!...我们使用这些诊断来发现源代码中有问题的地方。根据唯一的诊断编号和行号,我们可以确定潜在的问题类型并进行必要的代码修改。 每个文件运行所有插件。...这种方法允许我们解决错误,因为添加 any 类型可以修复编译错误。...尽管最佳实践是避免使用 any 类型,但使用它可以帮助我们简化迁移过程,并明确哪些类型应该重新访问),使得我们可以收集有关代码质量的有用数据,并确定可能存在问题的代码区域。

    1.6K20

    淘宝店铺 TypeScript 研发规约落地实践|技术详解

    互斥工具类型 XOR 我们来看一个实际场景,互斥工具类型,常见的场景比如有某个对象只能,且必须满足多个接口之一,如登录用户和访客的信息,还有场景如某个对象中的多个属性存在依赖关系,要么同时存在,要么同时不存在...互斥属性 而互斥属性中,module 与 container 类型则是至多拥有一个。 研发侧的规范就到这里,我们比较概括地聊了一下如何编写更好的 TypeScript 代码。...或者一些 ESLint 显得不那么智能,比如你希望强制的要求某些函数的入参来自于枚举而不是字符串的场景,你会开始关注如何使用 Compiler API 做源码分析和约束。...还有一些 Lint 无法覆盖的场景,也就是更严格的约束,如你希望强制的要求项目中必须导入某些模块作为 polyfill,某些函数的入参来自于枚举而不是字符串的场景,那你会开始关注如何使用 Compiler...所以 TS 提供了 isolateModule 这个配置,它会在你使用了除 TypeScript 以外的构建工具无法编译的语法时给出警告,常见的这一类语法有重新导出从别处导入的类型,因为对于类型的导入实际是走的和值导入不同的空间

    1.1K20
    领券