Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中是否存在yield_self函数?_Javascript_Ruby - Fatal编程技术网

javascript中是否存在yield_self函数?

javascript中是否存在yield_self函数?,javascript,ruby,Javascript,Ruby,出于好奇,作为一名ruby开发者,我想知道JavaScript是否有类似ruby的yield\u self方法 "value".yield_self { |v| v[0] + v[4]} => "ve" 这是一个可链接的方法,使用您调用的“对象”作为值(超粗略描述) 更多示例: 我知道我们在承诺中也有类似的行为,但我可以想象在没有承诺的情况下使用它 "value".yieldSelf(v => v[0] + v[4]) @麦克斯,就像我说的,这只是出于好奇。我的意思是,任何版本的

出于好奇,作为一名ruby开发者,我想知道JavaScript是否有类似ruby的yield\u self方法

"value".yield_self { |v| v[0] + v[4]}
=> "ve"
这是一个可链接的方法,使用您调用的“对象”作为值(超粗略描述) 更多示例:

我知道我们在承诺中也有类似的行为,但我可以想象在没有承诺的情况下使用它

"value".yieldSelf(v => v[0] + v[4])

@麦克斯,就像我说的,这只是出于好奇。我的意思是,任何版本的JS都应该是可以的,直到ES10,如果几年后有人来到这里。甚至提到第三方库也没关系。不必担心polyfills,我对在旧浏览器上使用它不感兴趣,这不是问题所在question@max这怎么毫无意义?他问javascript是否具有这种特性/语法糖,我不明白他为什么要指定javascript的版本。答案可能根本不是特定版本的,即使答案是肯定的,也可以是“是的,因为ES{X}”。如果有人问javascript是否有承诺,你会说这个问题没有用吗?或者您会回答“是的,因为XX版。在此之前,您可以使用polyfills”?它在javascript中也不是很有用,因为它对
this
进行了奇怪的处理,并且缺少真正的块(箭头函数不是完全相同的事情),并且缺少Ruby这样的好的功能标准库。一般来说,这不是一个好主意“Y语言中X语言的功能”。相反,你应该简单地提供一个精确、明确、客观、完整的说明,说明你在寻找什么。原因有两个:1)如果你只是要求“Y语言中X语言的功能”“,你大大减少了潜在回答者的数量,使其仅限于X和Y方面的专家。2)语言之间总是存在细微差异,因此答案总是“不”,除非你提供准确、明确、客观的答案,完整说明您希望……包括哪些方面以及哪些方面是不相关的,在这一点上,您可以只指定所需的目标,而不首先参考语言X。例如,在这种特殊情况下,
Object#yield_self
接受一个块参数。ECMAScript没有块,所以很明显,这已经是不可能的了。如果不传递块,它将返回一个
枚举数。ECMAScript也没有这些。所以,答案显然是“不”,但可能还有一些相当于某个子方面的东西,但你必须说你关心哪些方面。@max,正如我所说,这只是出于好奇。我的意思是,任何版本的JS都应该是可以的,直到ES10,如果几年后有人来到这里。甚至提到第三方库也没关系。不必担心polyfills,我对在旧浏览器上使用它不感兴趣,这不是问题所在question@max这怎么毫无意义?他问javascript是否具有这种特性/语法糖,我不明白他为什么要指定javascript的版本。答案可能根本不是特定版本的,即使答案是肯定的,也可以是“是的,因为ES{X}”。如果有人问javascript是否有承诺,你会说这个问题没有用吗?或者您会回答“是的,因为XX版。在此之前,您可以使用polyfills”?它在javascript中也不是很有用,因为它对
this
进行了奇怪的处理,并且缺少真正的块(箭头函数不是完全相同的事情),并且缺少Ruby这样的好的功能标准库。一般来说,这不是一个好主意“Y语言中X语言的功能”。相反,你应该简单地提供一个精确、明确、客观、完整的说明,说明你在寻找什么。原因有两个:1)如果你只是要求“Y语言中X语言的功能”“,你大大减少了潜在回答者的数量,使其仅限于X和Y方面的专家。2)语言之间总是存在细微差异,因此答案总是“不”,除非你提供准确、明确、客观的答案,完整说明您希望……包括哪些方面以及哪些方面是不相关的,在这一点上,您可以只指定所需的目标,而不首先参考语言X。例如,在这种特殊情况下,
Object#yield_self
接受一个块参数。ECMAScript没有块,所以很明显,这已经是不可能的了。如果不传递块,它将返回一个
枚举数。ECMAScript也没有这些。因此,答案显然是“不”,但可能仍然有一些相当于某个子方面,但你必须说出你关心的方面。