async/await
是 JavaScript 中处理异步操作的一种新语法,是在 ES8(ECMAScript 2017) 中引入的。它被设计为 Promise 的语法糖(最甜的那种),用来让异步代码写起来看起来更像同步代码。这种看似“同步”的风格让代码更加简洁、可读,同时也更容易维护和调试。
题目 给定一个数组 nums 和一个目标值 target,在该数组中找出和为目标值的两个数
输入 nums: [8, 2, 6, 5, 4, 1, 3], target:7
依赖注入是一种设计模式,它允许将组件的依赖关系从组件内部转移到外部。在 Vue3 中,provide
和 inject
是实现这种依赖注入的工具。父组件通过 provide
提供数据,后代组件通过 inject
获取数据。这种机制特别适用于需要跨组件传递状态或配置的情况。
tsconfig.json
是 TypeScript 项目的配置文件,它在项目中扮演着非常重要的角色。当一个目录中存在 tsconfig.json
文件时,TypeScript 编译器会将其视为项目的根目录。这意味着,编译器会从这个文件所在的位置开始,按照配置文件中的指令来编译项目中的 TypeScript 文件。
在 Vue 3 中,defineModel
是一个新引入的 API,它的主要作用是让开发者更加灵活地定义组件的双向绑定行为,特别是对于自定义事件和属性的控制。通过 defineModel
,可以更好地控制 v-model
的绑定逻辑,而不必直接依赖默认的 modelValue
。
length
表示数组中元素的个数,是数组的长度。
const arr: number[] = [1, 2, 3, 4, 5];
console.log(arr.length); // 输出: 5
typeof
用于检查一个变量的“原始类型”。它返回一个字符串,表示变量的数据类型,就像是一个“侦探”,专门用来查一个东西到底是什么类型。
就好比你手里有个东西,不知道它是什么,用 typeof
一查,它就会告诉你这个东西是字符串、数字还是对象之类的。
泛型,我的理解就是一种“占位符”或者“模板”。就像去餐厅点菜,菜单上写的“主食 + 汤”,这里的“主食”和“汤”就是占位符,可以根据自己的口味选择米饭、面条或者包子作为主食,选择番茄汤、海带汤或者玉米汤作为汤。泛型也是一样
以前的vue2是选项式API,代码一多就容易乱,数据、方法、计算属性的混在一起,找起来都费劲。
组合式API就好比把东西都分门别类放好,想看数据处理的就看setup里相关的部分,想看方法就找对应的方法函数,一目了然,自己写代码的时候思路也更清晰,别人看代码也更容易懂。
在 TypeScript 中,interface 和 type 是两个非常常用的工具,主要用来定义和约束数据的结构,它们在很多情况下可以互相替代。虽然它们有一些相似之处,但在功能和使用场景上还是有一些区别。