摘要:一、泛型是什么 软件工程中,我们不仅要创建一致的定义良好的 API,同时也要考虑可重用性。 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。 在像 C# 和 Java 这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据
阅读全文
摘要:一,概述 对私有字段的支持是从 TypeScript 3.8 开始的。(私有字段目前在 EcmaScript 中尚处于 stage-3 ) 私有字段以 # 开始,如下: class Person { //私有属性 #name: string //构造函数 constructor(name: stri
阅读全文
摘要:类型保护是指缩小类型的范围,在一定的块级作用域内由编译器推导其类型,提示并规避不合法的操作,提高代码质量。类型保护就是一些表达式,它们会在运行时检查以确保在某个作用域里的类型。我们可以通过typeof、instanceof、in、is和字面量类型将代码分割成范围更小的代码块,在这一块中,变量的类型是
阅读全文
摘要:一,类型断言 有时候你会遇到这样的情况,你会比 TypeScript 更了解某个值的详细信息。通常这会发生在你清楚地知道一个实体具有比它现有类型更确切的类型。 通过类型断言这种方式可以告诉编译器,“相信我,我知道自己在干什么”。类型断言好比其他语言里的类型转换,但是不进行特殊的数据检查和解构。它没有
阅读全文
摘要:一、是什么 除了string、number、boolean 这种基础类型外,在 typescript 类型声明中还存在一些高级的类型应用这些高级类型,是typescript为了保证语言的灵活性,所使用的一些语言特性。这些特性有助于我们应对复杂多变的开发场景 二、有哪些 1. 交叉类型 通过 & 将多
阅读全文
摘要:tsconfig.json "paths": { "src/*": [ "src/*" ] } webpack.config.js resolve: { alias: { 'src': path.resolve(__dirname, "../src/") //src文件夹路径 }, },
阅读全文
摘要:一、extends extends 关键字在 TypeScript 中有多种应用,包括泛型约束、继承类、接口继承和条件类型。通过灵活使用 extends,TypeScript 提供了丰富的工具来增强类型安全性,使代码更具表现力和可维护性。 多种用法 🐹 1. 约束接口的继承 extends 关键字
阅读全文
摘要:1、public 默认修饰符,可以自由访问 2、private 当成员被标记成 private时,它就不能在声明它的类的外部访问。 3、protected protected修饰符与 private修饰符的行为很相似,但有一点不同, protected成员在派生类中仍然可以访问。 4、readonl
阅读全文
摘要:any 和 unknown 在 TypeScript 中是所谓的“顶部类型”。 top type [...]是 通用(universal) 类型,有时也称为 通用超类型,因为在任何给定类型系统中,所有其他类型都是子类型[...]。通常,类型是包含了其相关类型系统中所有可能的[值]的类型。 也就是说,
阅读全文
摘要:差异一 在 TypeScript 中,this 的类型是动态的,取决于它所在的上下文。而在 JavaScript 中,this 的类型是静态的,只能在函数被调用时确定。 差异二 在 TypeScript 中,通过使用类型断言或类型定义,可以明确地声明 this 的类型。这可以帮助减少代码中的隐式错误
阅读全文
摘要:都可以 函数类型 interface SearchFunc { (source: string, subString: string): boolean; } let mySearch: SearchFunc; mySearch = function (source: string, subStri
阅读全文
摘要:tsconfig.json介绍 tsconfig.json是 TypeScript 项目的配置文件,放在项目的根目录。反过来说,如果一个目录里面有tsconfig.json,TypeScript 就认为这是项目的根目录。 🔔: 如果项目源码是 JavaScript,但是想用 TypeScript
阅读全文
摘要:大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。 有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null。这是为什么? 一、相似性 在JavaScript中,将一个变
阅读全文
摘要:void void类型表示没有任何类型。 没有返回值的函数,其返回值类型为 void function warnUser(): void { console.log("This is my warning message"); } 声明为 void 类型的变量,只能赋予 undefined 和 nu
阅读全文
摘要:一、区别 interface 和 type 两个关键字的含义和功能都非常的接近。这里我们罗列下这两个主要的区别: interface 同名的 interface 自动聚合,也可以跟同名的 class 自动聚合 只能表示 object、class、function 类型 type 不仅仅能够表示 ob
阅读全文
摘要:普通 declare declare function hello1(s: string): void; declare global declare global { function hello2(s: string): void } ❗️在 d.ts 声明文件中,任何的 declare 默认就
阅读全文
摘要:TypeScript 中不可变量的实现方法有两种: 1. 使用 ES6 的 const 关键字声明的值类型2. 被 readonly 修饰的属性 TypeScript 中 readonly: TypeScript 中的只读修饰符,可以声明更加严谨的可读属性。通常在 interface 、 Class
阅读全文
摘要:一、简介 实际开发中,经常需要定义一组相关的常量。 const RED = 1; const GREEN = 2; const BLUE = 3; let color = userInput(); if (color RED) {/* */} if (color GREEN) {/* */} if
阅读全文
摘要:一、尽量减少重复代码 对于刚接触 TypeScript 的小伙伴来说,在定义接口时,可能一不小心会出现以下类似的重复代码。比如: interface Person { firstName: string; lastName: string; } interface PersonWithBirthDa
阅读全文
摘要:📖 TypeScript 接受一些注释指令。 所谓“注释指令”,指的是采用 JS 双斜杠注释的形式,向编译器发出的命令。 // @ts-nocheck // @ts-nocheck 告诉编译器不对当前脚本进行类型检查,可以用于 TypeScript 脚本,也可以用于 JavaScript 脚本。
阅读全文