07 2024 档案
[babel] babel的工作原理
摘要:Babel 是一个多功能的 JavaScript 编译器,主要用于将现代 JavaScript 语法转换为向后兼容的代码。其工作流程包括解析(parse)、转换(transform)和生成(generate)三个步骤,最终生成兼容代码和源码映射。通过自定义插件,开发者可以灵活地操作 AST,实现代码转换。
[vue3] Vue3源码阅读笔记 reactivity - collectionHandlers
摘要:这篇笔记记录了Vue3的源码中响应式模块的部分内容,介绍了Vue3是如何通过Proxy拦截对Map、Set等集合类型的操作来实现响应式的
[vue3] Vue3源码阅读笔记 reactivity - baseHandlers
摘要:vue3的reactivity模块的baseHandlers主要为普通对象和数组的Proxy实现了拦截操作的处理,通过3个类分别实现了getter和setter等操作的拦截,并对一些数组原型上的方法做了特殊处理,使得数组操作可以更好地适配vue的响应式系统。
[JS] generator基本使用
摘要:这篇文章介绍了Generator函数的基本使用,包括next方法与yield关键字、throw方法、return关键字及其对应的方法,说明了它们的用法、运行结果和各自的特点,并解析了它们的共同点。
[JS] Reflect的基本使用
摘要:这篇文章介绍了Reflect的优点及其静态方法的使用,并通过Proxy实现了一个观察者模式示例,展示了如何利用Reflect简化和规范对象操作,避免传统方式的局限。
[NodeJS] JavaScript模块化
摘要:这篇文章介绍了JavaScript模块化的发展历程及各种方案,包括IIFE、CommonJS、AMD、CMD、UMD及ESM。对比了各方案的特点和优缺点。同时,深入剖析了Node.js中CommonJS的模块加载机制。
[NodeJS] Streams流式数据处理
摘要:本文介绍了NodeJS中流(Stream)的概念、类型和应用。流通过将数据分成小块进行处理,优化了内存使用和数据处理效率。文章涵盖了四种基本流类型:可读流、可写流、双工流和转换流,并通过实例代码演示了如何使用流进行高效的数据传输和处理。
[NodeJS] NodeJS运行原理简记
摘要:NodeJS是一个基于V8引擎和libuv的JavaScript运行时,适用于轻量级和高效的数据密集型Web应用。其单线程、非阻塞IO模型依赖事件循环和线程池管理异步任务。使用NodeJS开发需避免阻塞主线程,正确处理事件和错误。
[JS] promise知识点与应用场景
摘要:本文探讨了JavaScript中Promise的基础用法和各种静态方法的应用场景。从解决异步编程中的回调地狱问题,到链式调用、并发请求控制,再到最新的Promise.allSettled和Promise.any的应用。每种方法均通过代码示例和详细的应用场景进行了展示。
[NodeJS] timers阶段的源码解析
摘要:本文探讨了Node.js事件循环中的timers阶段,分析了定时器的管理和执行过程。通过源码解析,揭示了定时器超时检查、回调执行以及定时器类型(setTimeout与setInterval)的内部实现机制。文章旨在帮助读者理解Node.js中定时器的工作原理及其在事件驱动编程中的重要性。
[NodeJS] NodeJS事件循环
摘要:Node.js利用单线程非阻塞的事件循环,通过委派耗时任务给系统内核来保证高效执行。它提供了多种异步API如setTimeout、setImmediate和process.nextTick,利用这些API可以优化代码性能,并避免阻塞。这篇文章探讨了Node.js事件循环的工作原理,旨在帮助开发者更好地理解和应用异步编程技术。