ECMAScript MOC
ECMAScript 语言主题地图。
#type / moc
#status / growing
#resource / javascript
#resource / ecmascript
[!info] related notes
- 上层入口: javascript-moc
- 总览笔记: ecmascript
- 关系主题: ES6 新特性 MOC, ecmascript异步, ecmascript-object-oriented, ecmascript-module-pattern
ECMAScript MOC
JavaScript 语言核心与 ECMAScript 相关主题地图。
总入口
- ecmascript - 语言规范总览
语法与执行模型
- ecmascript-syntax-basics - 语法入口与阅读分流
- ecmascript-primitive-vs-reference-values - 原始值、引用值、可变性与赋值比较直觉
- 浮点数精度问题 - JavaScript 浮点精度误差与处理方式
- ecmascript-logical-statements - 条件、循环、流程控制
- ecmascript-operators - 表达式与操作符
- ecmascript-execution-context - 执行上下文、提升、调用栈
- ecmascript-type-detection - 类型判断方法对比
- typeof - typeof 运算符
- instanceof - instanceof 原型链判断
- array-isarray - Array.isArray 数组判断
- object-prototype-tostring - toString.call 内部标签判断
- duck-typing - 鸭子类型 / 能力判断
- ecmascript-type-conversion - 类型转换
- equality-operators - 相等比较(==、===、Object.is)
- js-null-and-undefined - null 与 undefined 的语义、比较行为与常见陷阱
函数与作用域
- ecmascript-functions - 函数定义、参数与调用方式
- this-keyword - this 绑定规则
- call-apply-bind - call、apply 和 bind 方法
- function-length - 函数的 length 属性
- rest-parameters-and-spread-operator - rest 参数和 spread 运算符
- arguments-object - arguments 对象
- currying - 函数柯里化(Currying)
- ecmascript-closures - 闭包与词法环境
- JavaScript AOP 实现 - 面向切面编程的 JS 落地方式
对象与内置类型
- ecmascript-object-oriented - 对象系统关系地图
- ecmascript-prototypes - 原型主题入口
- 深拷贝 - 深拷贝实现方式与 structuredClone
- 浅拷贝 vs 深拷贝 - 引用层级差异与面试边界
- ecmascript-basic-reference-types - Date / RegExp / 包装对象
- ecmascript-collection-reference-types - Object / Array / Map / Set / WeakMap / WeakSet
- array-prototype-map - map 方法参数与执行逻辑
- array-prototype-reduce - reduce 累积逻辑与常见陷阱
- parseint - parseInt 进制解析与常见陷阱
- higher-order-function-callback-mismatch - 高阶函数回调参数错位
- math-min-max - Math.min/max 边界值与 ToNumber 转换
- map-vs-weakmap - Map 和 WeakMap 对比
- set-vs-weakset - Set 和 WeakSet 对比
- map - Map 原子页
- weakmap - WeakMap 原子页
- set - Set 原子页
- weakset - WeakSet 原子页
- JavaScript / TypeScript 字符串方法 - String.prototype 常用方法与易错点
- JS 字符串:slice / substring / at / charAt 边界差异 - 字符/子串截取易错点
- JS 字符串:replace / replaceAll / 正则替换 - 替换与捕获组
- JS 字符串与 Unicode:length、surrogate pair、正确拆分 - emoji/Unicode 边界
- js对象 - 对象与属性访问
- js原型和原型链 - 原型与属性查找
- js构造函数 - 构造函数
- js-new -
new的接线过程 - proto-prototype-constructor -
__proto__/prototype/constructor - js-class -
class语法层 - js继承in-es6-es5 - ES5 / ES6 继承对比
- 为什么说-js-是基于原型而不是基于类 - 对象模型认知纠偏
- ecmascript-object总结 - 对象模型速览
异步模型
- ecmascript异步 - 异步主题关系地图
- 同步与异步 - 最底层执行直觉
- js的定时器和事件监听 - 宿主回调入口
- js事件循环 - 通用事件循环基础
- Promise - 未来结果对象
- Promise链 - Promise 串联规则
- async / await - Promise 的表达层
- ecmascript-promises-and-async - Promise 与异步函数桥接页
- 异步错误处理 - 异步异常边界
- Promise 封装 Ajax - 用 Promise 封装 XMLHttpRequest
- js-event-loop - 浏览器 vs Node.js 事件循环差异
模块化与运行时
- ecmascript-module-pattern - 模块化关系地图
- es6-module-import-export - ESM 语法
- commonjs-amd-umd - 历史模块系统
- html-js-scripts - 浏览器脚本加载与模块脚本
- javascript-in-browser-moc - 浏览器运行时子主题地图
- javascript-in-nodejs-moc - Node.js 运行时子主题地图
- javascript-in-browser - 浏览器运行时总览
- javascript-in-nodejs - Node.js 运行时总览
- JavaScript的工程化与运行时 - 语言之外的项目阶段总览
ES6 / 2015 核心特性
- ES6 新特性 MOC - ES6 核心语法、模块、异步、数据结构与底层能力入口
AI 与机器学习
- javascript-vs-python-ai-libraries - JavaScript vs Python AI 库对比
其他语言特性
- ecmascript-iterators-and-generators
- iterable - 可迭代对象
- iterator - 迭代器协议
- generator - 生成器函数
- iterable-iterator-generator - 三者关系与消费方式总览
- ecmascript-proxy-and-reflect
- ecmascript-regular-expressions - 正则表达式总览
- regex-lastindex-pitfall - lastIndex 状态坑
- regex-greedy-vs-non-greedy - 贪婪/非贪婪匹配
- regex-lookahead-lookbehind - 零宽断言
- regex - 语法速查表
- ecmascript-memory-management