如何在给定的JS代码中访问对象属性?

时间:2017-01-04 17:47:53

标签: javascript ecmascript-6

我在互联网上看到了以下两个代码,我无法理解它们是如何被解析和执行的。顺便说一下,我是ES6的新手。

return getUsername()
.then(function (username) {
    return getUser(username);
})
.then(function (user) {
});

将上述代码解释为:

是否正确
return getUsername().then(function(username){return getUser(username);}).then(function (user){});

或者它在ES6中有不同的含义吗?

同样如下:

new Q(value)
.then(function(/*Success handler*/){}, function(/*Failure handler*/){})

是否应解释为:

new Q(value).then(function(/*Success handler*/){},function(/*Failure handler*/){})

2 个答案:

答案 0 :(得分:2)

您的解释'只是删除换行符和空格。 结果在功能上与更易读的多行​​版本相同。

答案 1 :(得分:1)

您的解释是正确的,但这种编码风格与ES6无关。它只是JS语法的一部分。

开发人员通常会将链式方法放在单独的行中,以使目标对象发生的事情更加清晰。

阅读本文关于方法链接的内容,请参阅文章的底部,了解不同行上的链式方法示例:https://schier.co/blog/2013/11/14/method-chaining-in-javascript.html