Javascript 谁能给我解释一下这个代码是什么意思吗?
代码如下: 说明:这是角度插值Javascript 谁能给我解释一下这个代码是什么意思吗?,javascript,angular,typescript,Javascript,Angular,Typescript,代码如下: 说明:这是角度插值 `{{ product.getAcceptedBid().description }}` product是我的product类类型属性,其中有一个名为getAcceptedBid的方法和一个名为description的属性! 同时getAcceptedBid是Bid类的类型,其中有一个名为description的属性! 这个描述到底是做什么的?它指的是哪一个?投标类别或产品类别!? 除此之外,它还有什么作用? 我知道product.getAcceptedBid正
`{{ product.getAcceptedBid().description }}`
product是我的product类类型属性,其中有一个名为getAcceptedBid的方法和一个名为description的属性!
同时getAcceptedBid是Bid类的类型,其中有一个名为description的属性!
这个描述到底是做什么的?它指的是哪一个?投标类别或产品类别!?
除此之外,它还有什么作用?
我知道product.getAcceptedBid正在调用getAcceptedBid方法,但问题出在.description部分!我不明白 在JavaScript和TypeScript以及许多其他面向对象编程语言中,多个。同一表达式上的访问器按从左到右的顺序进行计算,每个访问器都基于上一个结果 对于您的示例,这意味着.description是根据product.getAcceptedBid表达式的结果计算的,因此这就是要计算的投标描述 注意:这真的是纯JS/TS,这里的角度插值没有什么特别之处 这个描述到底是做什么的 它获取对象上名为description的属性的值。考虑类产品和出价 如您所述,getAcceptedBid是类Product的一个方法,而description是类description的一个属性 这意味着产品实例,即使用新产品创建的对象将具有一个方法getAcceptedBid,您可以使用Product.getAcceptedBid调用该方法。这个方法有什么作用?我们看看它的身体
public getAcceptedBid (): Bid {
return new Bid()
}
此方法创建类Bid的实例,并返回它。因此,当您执行product.getAcceptedBid时,实际上会得到一个Bid实例
现在,这个新创建的bid是bid的一个实例,它有一个名为description的属性。例如,您可以使用console.log来检查它的内部内容
console.log(bid.description)
您所拥有的只是所有这些的一个简短版本,在一行中,加上您已经有了某个地方的产品实例,因此无需创建它
product.getAcceptedBid().description
您可以想象额外的括号,这可能会使它更清晰:
( product.getAcceptedBid() ).description
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\ /
this is instance of Bid,
like { description: 'foo' }
简而言之:1。访问产品对象。2.然后通过调用函数获取acceptedBid值。3.获取2中接收对象的description属性
因此,您将在HTML的UI上直观地看到描述值。这显然意味着getAcceptedBid方法返回一个带有键名“description”的值列表。它将返回描述值。是!!现在我明白了!我很困惑,不知道到底发生了什么!谢谢
product.getAcceptedBid().description
( product.getAcceptedBid() ).description
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\ /
this is instance of Bid,
like { description: 'foo' }