gpt4 book ai didi

javascript - 是否可以在 javascript 中添加一些新语法?

转载 作者:太空宇宙 更新时间:2023-11-04 06:50:25 27 4
gpt4 key购买 nike

是否可以在 javascript 中添加一些新语法?就像我想让它有一个像这样的语法:

mul>10>20 结果为 200 或者如果说 mul(2)(3) 结果为 6 ?有可能的?我在某处看到类似的问题来做到这一点?所以我不确定这是否可能?如果不是在 JS 中,是否可以在 C、Java、Python 等其他语言中使用?我的理解是,所有这些语言都只能为新对象添加一些功能,甚至那些新对象也只能具有语言本身已经具有的运算符和语法?那么我是正确的还是可以为这些语言添加新的语法?

最佳答案

您的更广泛问题的答案是您正在使用的语言,意思是旨在使用您可用的工具解决您的问题。

但是,您给出的第二个示例实际上已经是一种相当常见的模式,称为柯里化(Currying)。您可以通过以下方式扩展 Javascript 以实现此目的:

Function.prototype.curry = function() {
var fn = this, args = Array.prototype.slice.call(arguments);
return function() {
return fn.apply(this, args.concat(
Array.prototype.slice.call(arguments)));
};
};

所以假设 mul(a, b) 是:

function mul(a, b) {
return a * b;
}

你可以使用mul.curry(2)(3)

这是一个 Fiddle

有关此设计模式的更深入的解释,请查看 http://ejohn.org/blog/partial-functions-in-javascript/

关于javascript - 是否可以在 javascript 中添加一些新语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20831647/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com