1、promise
异步编程,它的构造函数是同步执行的,then 方法是异步执行的。
Promise创建后里面的函数会立即执行,构造函数中的resolve和reject只有第一次执行有效,解决回调地狱。
2、ts的基本类型
- number
表示所有数字,包括整数和浮点数。
let age: number = 30;
- string
表示文本数据。
let name: string = "Alice";
- boolean
表示真(true)或假(false)值。
let isActive: boolean = true;
- void
表示函数没有返回值。
function logMessage(message: string): void { console.log(message); }
- null 和 undefined
null 表示一个空值。
undefined 表示一个变量未定义的状态。
let value: null = null;
let notDefined: undefined = undefined;
- any
表示任意类型,允许变量接受任何类型的值。
用于绕过 TypeScript 的类型检查,但应尽量避免使用。
let anything: any = "could be anything";
- unknown
表示未知类型,类似于 any,但需要先进行类型检查才能使用。
示例:
let result: unknown = "string";
if (typeof result === "string") {
console.log(result.toUpperCase()); // 安全使用
}
- never
表示不会发生的值类型,如函数总是抛出异常或无限循环。 - object
表示任何非原始类型(即除了 number、string、boolean、symbol、null 和 undefined 之外的所有类型)。
let obj: object = { name: "Bob" };
3、箭头函数的作用
使表达更加简洁,简化回调函数
没有自己的this,箭头函数中的this实际是外层函数的this
箭头函数不能当作构造函数使用、不能使用new
4、节流
每隔一段时间,只执行一次函数。
定时器/时间戳实现
5、防抖
在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。
6、vue3比vue2的好处
- 更好的性能
更快的虚拟 DOM:Vue 3 的虚拟 DOM 实现更高效,能显著提高渲染性能。
更小的包体积:通过优化代码和移除不必要的功能,Vue 3 的体积比 Vue 2 更小。
按需加载:支持通过按需加载来减少应用的初始加载时间。 - 组合式 API(Composition API)
更灵活的逻辑复用:通过 setup() 函数和 Composition API,逻辑和状态可以更灵活地复用,而不是依赖于 Vue 2 的选项式 API(Options API)。
更好的类型推导:为 TypeScript 用户提供更好的类型推导支持。 - TypeScript 支持
内建 TypeScript 支持:Vue 3 从设计之初就考虑了 TypeScript,提供了更完善的类型定义,使 TypeScript 开发更加顺畅。 - 响应式系统的改进
Proxy API:Vue 3 使用 Proxy 代替 Object.defineProperty,提供了更好的性能和更强大的功能(如支持数组和对象的深度嵌套)。
更细粒度的响应式:提高了响应式系统的性能和灵活性。 - 新特性和 API
Teleport 组件:允许将子组件渲染到 DOM 的其他部分。
Suspense 组件:支持异步组件加载,并提供了加载状态的处理能力。
Fragment 支持:允许组件返回多个根节点,而不是 Vue 2 中的单一根节点。