2016-08-18 40 views
1

非常基本的问题,但在这样的情况下,基本查询...约链职能

const myVariable = GenericObject.myMethod().brand.toUpperCase()

会是什么.brand被提及...即。这个“链式功能”究竟如何融合在一起?

您可以假设myMethod返回一个空对象。

感谢

+1

它看起来像'brand'是一个字符串。但它不可能,因为它是一个空的对象,所以它将是'未定义的'。 –

+0

品牌看起来像myMethod的一个属性。虽然 –

+0

如果'myMethod()'返回一个空对象,那么代码将抛出一个异常并且不起作用。 – Pointy

回答

1

这可能是这样的

function GenericObject() { } 
 

 
GenericObject.myMethod = function() { 
 
    return { 
 
     brand: 'string' 
 
    }; 
 
} 
 

 
console.log(GenericObject.myMethod().brand.toUpperCase());

或者

var GenericObject = { 
 
    myMethod: function() { 
 
     return { 
 
      brand: 'string' 
 
     }; 
 
    } 
 
}; 
 

 
console.log(GenericObject.myMethod().brand.toUpperCase());

1

的意见给你的答案很简单:

brand指的是什么,从myMethod()返回。如果它是一个空对象,它将很难在其中找到属性brand

你可以阅读更多关于链接here。这是一个简单而清晰的解释(并不是很长)。