元编程

元编程

概念

  • 只要是与编程相关的编程就算是 meta-programming「元编程」

  • 简单解释
    比如,若编程甲可以输出 A - Z,那么写程序甲算「编程」;
    而程序乙可以生成程序甲(也许还会连带着运行它输出 A - Z),那么编写程序乙的活动,就可以算作 meta-programming,「元编程」。

  • 元编程常用来实现 DSL

    参考资料

DSL(特定领域语言)

外部 DSL

  • 通过解析器、babel 等编译工具实现特定语法 or 功能
  • 如 jsx

内部 DSL

  • 通过组合语言本身功能实现特定语法 or 功能
  • 如 jquery
  • 大部分实现方式使用级联、嵌套

JavaScript 中 DSL 实现

easy: 使用 proxy

参考资料

Author: liuarui
Link: https://liuarui.github.io/2020/03/20/编程范式/元编程/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.