元编程
概念
只要是与编程相关的编程就算是 meta-programming「元编程」
简单解释
比如,若编程甲可以输出 A - Z,那么写程序甲算「编程」;
而程序乙可以生成程序甲(也许还会连带着运行它输出 A - Z),那么编写程序乙的活动,就可以算作 meta-programming,「元编程」。元编程常用来实现 DSL
DSL(特定领域语言)
外部 DSL
- 通过解析器、babel 等编译工具实现特定语法 or 功能
- 如 jsx
内部 DSL
- 通过组合语言本身功能实现特定语法 or 功能
- 如 jquery
- 大部分实现方式使用级联、嵌套
JavaScript 中 DSL 实现
easy: 使用 proxy