如何确保纯函数仅调用 TypeScript/JavaScript 中的纯函数?

Tom*_*ale 5 javascript immutability purely-functional typescript

我想拥抱函数式编程,并确保我的纯函数不会改变状态。

我如何确保我打算成为纯的函数只调用本身是纯的其他函数?

我看到两种方法,它们有问题:

  • 注释 - IDE 在调用函数时不会轻易显示函数的注释
  • 命名 - 这会导致丑陋的函数名称

我正在寻找一种强制纯洁的方法,而不仅仅是暗示它。

是否有允许将函数标记为纯函数并阻止标记的纯函数调用函数的语言功能,除非它们本身也被标记为纯函数或纯但不检查更深的函数?