自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 Node.js, 模块系统

Node.js 提供了一个简单的模块系统,这可以让Node.js的文件可以相互调用。一个Node.js文件就是一个模块,这个文件很可能是JS代码或者JSON。

2024-04-03 14:33:21 207 1

原创 Node.js, 回调函数

回调函数通常作为异步函数的最后一个参数传递,当异步操作完成时,将会调用这个回调函数。例如,我们可以边读取文件,边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。在JavaScript中,回调函数是一个作为参数传递给其他函数的函数,在异步操作完成后被调用以处理结果或执行后续的逻辑。因此,在文件读取的过程中,主线程会继续执行其他代码,例如输出 "程序执行结束!当文件读取完成后,回调函数会被调用,这时才会输出文件内容到控制台。这是一个异步操作,当文件读取完成后,会调用传入的回调函数。

2024-04-03 14:02:27 243

原创 Node.js, package.json 是干嘛的?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于 JavaScript 的对象字面量语法,但独立于编程语言。是 Node.js 项目中的一个重要文件,用于描述项目的元数据信息和依赖项。它是一个 JSON 格式的文件,通常位于项目的根目录下。文件中包含了项目的名称、版本号、作者、许可证、项目描述等信息,同时也包含了项目所依赖的第三方包的版本信息。这个机制允许你在不同的项目中使用不同的入口文件,并且通过统一的方式来启动项目。脚本会指定运行项目的入口文件,例如。

2024-04-03 13:49:45 150

原创 Node.js, http中的request和response

HTTP 使用客户端-服务器模型,客户端通常是浏览器,服务器则是存储在网络上的网站。因为http用的是请求-响应模型进行通信,客户端必须先请求,服务端才能响应,所以在我们写JS代码的时候要注意,request(请求)和response(响应)的位置不要写错了。对象代表了客户端向服务器发送的 HTTP 请求,包含了客户端发送的所有信息,如请求的 URL、请求方法、请求头部、请求体等。对象则代表了服务器向客户端发送的 HTTP 响应,包含了服务器返回给客户端的所有信息,如状态码、响应头部、响应体等。

2024-04-03 13:32:22 323

原创 Node.js, 编写第一个HTTP 服务端程序

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它允许你使用 JavaScript 来编写服务器端的应用程序。而 HTTP(Hypertext Transfer Protocol)则是一种用于在网络上传输超文本数据的应用层协议,它是互联网上应用最为广泛的一种协议。Node.js 提供了一系列内置的模块,其中http模块就是用于创建 HTTP 服务器和客户端的模块。通过http模块,你可以方便地创建一个 HTTP 服务器,处理来自客户端的请求,并向客户端发送响应。

2024-04-03 13:11:01 312

原创 Windows11 Subsystem for Android运行失败,显示“请确保bios中启用了虚拟化”

解决在“hyper-v”和“虚拟机平台”打开后,Windows Subsystem for Android仍然显示"请确保在bios中启用了虚拟化"的问题

2024-04-02 21:57:42 304

原创 TypeScript,解构 (Destructuring)

解构(Destructuring)是一种在 JavaScript 和 TypeScript 中用来从数组或对象中提取值并赋给变量的语法。它可以使代码更简洁、可读,并且可以方便地访问复杂数据结构中的数据。

2024-01-30 21:44:26 633

原创 TypeScript,类型映射 (Mapped Types)

类型映射(Mapped Types)是 TypeScript 中的一种强大的工具,允许开发者通过遍历已有类型的每个属性并创建新的类型。它主要使用映射类型语法,结合索引类型和 keyof 操作符,能够轻松地生成新的类型,使得代码更加灵活和可维护。在这个例子中,通过使用的语法,我们创建了一个新的类型,它具有与Person相同的属性,但所有属性都是只读的。这种方式避免了在每个属性上手动添加readonly修饰符的重复工作。

2024-01-25 22:22:46 413

原创 TypeScript,类型查找(lookup types)

类型查找,通常称为 Lookup Types,是 TypeScript 中一种利用已知类型的键来查找对应值的机制。通过使用 TypeScript 的索引类型和 keyof 操作符,我们可以根据已知的键获取对象或映射类型中相应的值类型。在这个例子中,PersonKey是的结果,表示Person接口的所有属性名的联合类型。然后,通过,我们可以获取Person接口中属性对应的值类型。

2024-01-25 22:19:05 418

原创 TypeScript,“keyof”操作符

是 TypeScript 中的一个操作符,用于获取对象类型的所有键(属性名)的联合类型。它可以用于在编译时检查对象属性名的正确性,从而提高代码的类型安全性。,可以确保传入的属性名是对象实际拥有的属性,避免了拼写错误和使用不存在的属性。,可以在函数内部安全地访问对象的属性值,而不必担心传入不存在的属性名。来获取对象的属性值。接口的所有属性名的联合类型。

2024-01-25 22:14:36 459

原创 TypeScript,常量断言(Const Assertion)

常量断言(const assertion)是 TypeScript 中一种用于将一个表达式断言为一个字面量类型的方式。通过使用常量断言,开发者可以告诉 TypeScript 编译器,某个表达式的值在后续的代码中不会被修改,从而将其视为一个具体的字面量类型而非通用的类型。的确切类型来声明其他变量,从而确保类型的一致性。的值在后续的代码中不会被修改。,而不是通用的字符串类型。

2024-01-25 22:09:12 345

原创 TypeScript,双重断言 (Double Assertion)

在 TypeScript 中,双重断言(Double Assertion)是指对一个值进行两次类型断言的操作。类型断言用于告诉编译器某个值的实际类型,但在某些情况下,可能需要对同一个值进行两次类型断言以满足代码的需求。需要注意的是,双重断言是一种绕过 TypeScript 类型检查的手段,因为它绕过了编译器对类型的检查。使用双重断言时,开发者需要确保自己对值的类型有充分的了解,以避免运行时出现类型错误。然后,在第二次断言中,将其再次断言为。进行了一次类型断言,将其断言为。方法,最终得到字符串的大写形式。

2024-01-25 22:04:59 363

原创 TypeScript, 索引签名 Index Signatures

索引签名(Index Signatures)是 TypeScript 中一种用于描述对象或类可以通过索引(类似于数组索引或对象属性名)访问的成员的方式。索引签名允许你定义对象或类的索引类型以及对应索引的值类型。MyArray。

2024-01-25 22:00:40 307

原创 TypeScript,函数调用签名 (Call Signatures)

在TypeScript中,函数调用签名(Call Signatures)是一种用于描述函数类型的特殊语法。它允许你定义一个函数类型,包括函数的参数和返回类型,但不提供函数体。函数调用签名通常用于定义接口或类型,以确保函数的使用符合特定的规范。通过使用函数调用签名,你可以在类型层面上确保函数的正确使用。是一个函数类型,表示接受两个。类型的参数并返回一个。

2024-01-25 21:40:16 517

原创 TypeScript,类型守卫(Type Guards)

pet.fly();// 在这个块中,pet 被缩小为 Bird 类型} else {pet.swim();// 在这个块中,pet 被缩小为 Fish 类型有两个接口Bird和Fish,以及一个自定义函数isBird,用于检查是否是Bird类型。在movePet函数中使用,根据自定义的类型守卫函数的结果缩小pet的类型范围。

2024-01-25 21:29:28 346

原创 TypeScript,泛型(Generics)

泛型是一种在编程语言中实现参数化类型的机制,使得代码可以更灵活、可重用,同时提高类型安全性。在 TypeScript 中,泛型允许你编写与类型无关的代码,同时在使用时指定具体的类型。泛型在函数、类和接口中都可以使用。在函数中使用泛型,可以使函数适用于不同类型的参数,同时保持类型安全。泛型也可以用于类的定义,以在实例化时指定具体的类型。泛型可以应用于接口的定义,使接口适用于多种类型。表示泛型参数,它可以是任何类型。,使得可以创建包含不同类型的属性的对象。,并在实例化时指定具体的类型。

2024-01-25 21:14:25 314

原创 TypeScript,接口和对象的区别

接口是一种抽象的规范,用于定义数据结构和行为,但本身不提供具体的实现。对象是实际存在的数据实体,它包含了具体的属性和方法,执行实际的业务逻辑。接口用于声明规范和进行类型检查,有助于提高代码的可读性和可维护性。对象是程序的执行单元,负责完成实际的任务,它具有具体的实现。在实际开发中,接口和对象常常一起使用,通过接口定义对象的结构,然后创建符合该结构的实际对象。

2024-01-25 12:36:57 454

原创 TypeScript,接口(interface)

在TypeScript中,接口(interface)是一种用于定义对象结构的强大工具。它可以描述对象的属性、方法、索引签名等,提供了一种约定,使得代码更具可读性、可维护性,并能在编译时进行类型检查。接口可以继承其他接口,实现接口的复用。通过接口可以定义对象的属性及其类型。通过索引签名可以定义任意属性。接口可以用来描述类的公共部分。接口也可以定义方法的签名。关键字可以定义只读属性。,可以定义可选属性。

2024-01-25 12:22:23 367

原创 TypeScript, 对象类型(Object)

在 TypeScript 中,对象(Object)是一种复合数据类型,用于存储和组织多个值(属性和方法)的集合。对象可以包含键值对,其中每个键都是一个字符串(或 Symbol),而值可以是任意类型的数据,包括基本数据类型、其他对象、函数等。

2024-01-25 11:48:48 545

原创 TypeScript中,this关键字的用法

的值通常指向触发事件的 DOM 元素。方法作为回调函数附加到 'myButton' 元素的 'click' 事件上。的方式在需要确保函数内部使用特定对象作为上下文时非常有用。如果函数是作为对象的方法调用的,则。不会创建自己的上下文,而是捕获了箭头函数所在的上下文的。的类型注解,表示在函数内部可以使用任意类型的。的方法,该方法使用箭头函数定义。是一个关键字,表示当前执行上下文中的对象。,以确保在事件处理函数中访问到类的实例。中使用了箭头函数,因此方法内部的。的值一致且不会改变的常见模式。

2024-01-23 00:09:11 790 1

原创 TypeScript,函数(function)

它具有丰富的语法和功能,允许你声明函数的参数、返回类型以及函数体的实现。,它将函数接收到的所有参数(剩余的参数)收集到一个数组中。函数重载允许你为同一个函数提供多个类型的定义,以便根据不同的参数类型执行不同的逻辑。这是箭头函数的语法,表示一个没有参数的箭头函数。使用了剩余参数语法,表示接受任意数量的参数,并将这些参数存储在名为。括号中表示函数的参数列表,这里是空括号,表示该函数没有参数。指定了函数的返回类型,表示该函数返回一个。大括号中包含函数体,即函数要执行的代码。,适合在回调函数或短小的函数体中使用。

2024-01-22 23:47:37 396 1

原创 TypeScript,类型断言/类型适配 Type Assertions

类型断言(Type Assertions)是 TypeScript 中的一项功能,它允许开发者显式地指定值的类型。这用于在开发者确切知道变量的类型时,告诉 TypeScript 编译器相应的信息。类型断言有两种形式:1.在这个例子中,使用<string>尖括号语法告诉编译器,将variable视为字符串类型,以便获取其length属性。2.使用as语法同样可以进行类型断言,它在 JSX/TSX 中是推荐的形式,并且适用于使用 JSX 或 Babel 的环境。

2024-01-20 23:07:55 330

原创 TypeScript,空白类型(void)和未定义(undefined)

是 TypeScript 中表示函数没有返回值的类型。通常用于标识那些执行某些操作而不返回任何值的函数。类型主要用于标识没有返回值的函数,使得在函数声明时能够明确表达这一特性。在其他变量声明中,一般不直接使用。类型主要用于函数,表示该函数没有返回值。对于其他变量或常量,通常会使用。类型可以用于声明变量,但这个变量只能被赋值为。,但并没有返回任何值。它的返回类型被标记为。表示函数不返回值,而在变量声明时使用。是表示变量可以被赋值的两个特殊值。表示没有返回值的函数类型,而。在函数返回类型上,使用。

2024-01-20 22:27:03 422

原创 TypeScript,任意类型(any)和未知类型(unknown)

类型在提供灵活性的同时,强制进行类型检查,提高了代码的安全性。类型时,虽然它提供了更安全的类型检查,但也需要开发者在使用前明确进行类型检查,以确保安全性。它们都提供了一种在编写代码时绕过静态类型检查的方式,但它们在使用和行为上有一些不同。类型时,需要小心,因为它绕过了 TypeScript 的类型检查,可能导致运行时错误。类型表示任何类型的值,允许我们在编码时不进行类型检查,使得变量可以存储任何类型的值。可以是任何类型,但在使用之前我们必须进行类型检查。类型要求在使用前进行类型检查。

2024-01-20 21:44:57 421

原创 TypeScript,枚举类型和字面量类型的区别

总的来说,枚举类型适用于需要一组有序编号的常量值,而字面量类型适用于直接约束变量为特定的字面量值。选择使用枚举类型还是字面量类型取决于你的需求和代码设计。字面量类型在编译后不会生成真正的 JavaScript 对象,它们只是在类型检查阶段用于约束值的类型。枚举类型的成员具有从 0 开始的默认编号,也可以手动指定编号。字面量类型直接约束变量、参数或属性的值必须是特定的字面量值。常量枚举在编译时会被删除,只保留成员的实际值,以提高性能。字面量类型没有默认的编号,它直接使用字面量值本身。

2024-01-20 21:18:17 365

原创 TypeScript, 枚举类型 (Enum)

枚举可以帮助提高代码的可读性和可维护性,使得程序员能够更容易地理解和使用特定的命名常量。总体而言,枚举类型在 TypeScript 中是一种方便且有用的工具,用于定义一组有限的常量值,并提供更好的代码可读性。这样的常量枚举可以提高性能,因为它在编译后将直接使用数值,而不会生成真正的 JavaScript 对象。在这个例子中,我们通过枚举的反向映射,将数值 6 转换为对应的枚举成员名称 "Right"。关键字,可以将枚举声明为常量枚举。常量枚举在编译时会被删除,只保留枚举成员的实际值。,其对应的数值为 6。

2024-01-20 21:02:04 379

原创 TypeScript,字面量类型(Iiteral)

在 TypeScript 中,字面量类型是一种特殊的类型,它表示一个具体的值。在实际应用中,字面量类型常常与联合类型和类型别名结合使用,以创建更复杂和精确的类型定义。的类型是字符串字面量类型,只能取 "success" 或 "error" 中的一个值。在类型别名中使用字面量类型,可以将多个字面量类型联合起来,形成更复杂的类型。的类型是布尔字面量类型,只能取 true 或 false 中的一个值。的类型是数字字面量类型,只能取 42 或 87 中的一个值。在对象字面量类型中,可以指定每个属性的确切值。

2024-01-20 20:37:18 333

原创 TypeScript中,‘type’的用法

type’ 关键字用于在 TypeScript 中创建类型别名,这样你可以给现有的类型起一个新的名字。需要注意的是,在 TypeScript 中,type 关键字用于创建类型别名,而不是直接用于声明变量。的联合类型别名,表示值可以是 "success" 或 "error" 中的一个。的泛型类型别名,表示一个包含两个相同类型元素的数组。这种方式允许你在多个地方使用相同的类型别名,提高了代码的可维护性。创建类型别名,然后使用该类型别名来声明变量。的类型别名,表示该变量可以是。的类型别名,表示一个包含。

2024-01-19 23:35:56 619 1

原创 TypeScript ,‘|’ 联合类型操作符

在 TypeScript 中,‘|’ 是联合类型(Union Type)的操作符,用于表示一个值可以是多个类型之一。这提供了更灵活的类型定义。联合类型的一些基本用法,它允许我们更灵活地处理多个类型的值。函数参数可以使用联合类型,使函数接受多种类型的参数。可以是 "success" 或 "error"。定义一个属性可以是多个类型之一,这里。用于定义一个联合类型,这里。可以指定多个可能的类型。

2024-01-19 23:09:47 478

原创 TypeScript中符号‘${}’的意思

是一种模板字符串或模板字面量语法,用于在字符串中插入表达式或变量的值。这种语法通常在 JavaScript 或 TypeScript 中的字符串中使用。表达式的结果将被插入到字符串中。

2024-01-19 22:39:05 569

原创 TypeScript中,‘let’ 和 ‘const’的区别

声明一个变量,它的值就不能被修改。这有助于确保在程序的执行过程中不会意外更改常量的值。来声明变量,然后在程序执行过程中更改其值。用于声明不可变的常量。用于声明可变的变量。在TypeScript中,‘是用于声明变量的关键字。

2024-01-16 17:39:30 602

原创 TypeScript 中,冒号‘:’的用法

总的来说,冒号在 TypeScript 中主要是用于类型注解。

2024-01-16 16:50:12 669 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除