带有对象表示法的javascript函数参数

标签 javascript function parameters

有什么区别

function updateSomething(item) {}

function updateSomething({items}) {}

? 第一个中的 item 变量也可以是对象,为什么第二个使用对象表示法? 什么时候用前者,什么时候用后者?

最佳答案

这是来自 ES2015 的参数解构。在第二种情况下,您将局部变量初始化为参数的 items 属性的值。

function updateSomething({items}) {

大致相当于

function updateSomething(obj) {
     var items = obj.items;

其他一些例子 herehere .

来自 MDN:Pulling fields from objects passed as function parameter

请注意,此语法在 Edge 或 Safari 中尚不可用(请参阅 compatibility map ),因此您可能希望使用类似 Babel 的转译器.

关于带有对象表示法的javascript函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37417717/

相关文章:

c# - 将数组从 C# 返回到 javascript 的最佳(简单且清晰)方法是什么

php - INSERT INTO & LAST_INSERT_ID inside Query inside 函数

c++ - 如何将 Scala 函数转换为 C++ 中的参数?

windows - 如何将以 "!"结尾的参数传递给另一个bat文件?

c# - 在集合中找不到参数 "@Name"

c - 返回 C 中正因子计数的方法

javascript - html5 jquery 中的文本字段验证

javascript - 这个javascript变量是什么意思?

javascript - HTML5 Canvas /动画资源

javascript - 如何编写 JS 函数来执行某些操作,然后在该过程完成后返回?