Typescript是否有运算符重载?

Ang*_*gel 13 operator-overloading typescript

我的问题是如果在打字稿中有操作符重载,如果它存在,我可以给出一个示例或链接,您可以阅读它.

bas*_*rat 15

不,它不存在.除非有关于如何在Pure JavaScript中实现它的明确规范,否则它不太可能存在.

  • 完全没有必要在本机 JavaScript 中进行运算符重载才能实现此功能。 (11认同)
  • `例如,TypeScript 编译器不能用 JavaScript 输出中的函数调用转换 TypeScript 源中的 + 运算符`它*可以*,但这会破坏 TypeScript 的全部内容`添加或依赖运行时类型程序中的信息,或根据类型系统的结果发出不同的代码。相反,鼓励不需要运行时元数据的编程模式。` https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals#non-goals (5认同)
  • 只要操作符类型检查,它就可以被翻译成特定的函数调用。对类型系统的依赖只会在编译期间出现。 (5认同)
  • 请原谅我的无知,但为什么在纯Javascript中需要运算符重载,以便TypeScript支持它?例如,TypeScript编译器无法使用JavaScript输出中的函数调用转换TypeScript源中的+运算符. (4认同)
  • Typescript 有很多很多像这样的新语法示例。 (4认同)
  • @benathon 可行,我想说甚至可能是个好主意,但对于 TS 来说不会发生,他们的意识形态太左了 (2认同)

Car*_*lsh 10

如果您希望存在运算符重载,您可以为此语言提案做出贡献: https: //github.com/tc39/proposal-operator-overloading

如果提案被拒绝,您将有一个非常彻底的理由说明为什么不应将其添加到语言中。

  • 有人知道这个提议怎么样吗?它最后一次活跃似乎是在大约 4 年前,没有迹象表明它是否仍在考虑中或刚刚被放弃。 (3认同)