“ [+]”在Javascript或Angular中的含义

时间:2019-09-24 18:58:56

标签: javascript angular typescript

我很好奇。

这段代码中def get_review(self, obj): return Review.objects.filter(product_id=obj.product.id).count() 的含义是什么

[+

5 个答案:

答案 0 :(得分:3)

将字符串更改为整数/数字。

例如:

如果有“ 60”。这是一个字符串,但是如果在其前面添加+。现在是数字:60

在您的代码中,params.get('productId')返回字符串,您可能需要它作为数字。它的确很短,但是只能将用字符串包装的数字转换为数字,而不是将“ 1”转换为1。

此外,[+。第一个括号是用于基于对象的索引或元素/属性访问数组元素的开括号。例如,products[5]

这也称为Unary plus (+)

+false  // 0
+‘123’  // 123
+0xBABE // 47806 (Hexadecimal)
+null   // 0
+function(val) {return val } // NaN

有一篇详细的文章,如果您有兴趣阅读更多文章:

https://medium.com/@nikjohn/cast-to-number-in-javascript-using-the-unary-operator-f4ca67c792ce

答案 1 :(得分:1)

这里与Angular没有任何关系。

这是Javascript的概念,基本上它将值更改为数字类型(格式)。

在路由中传递参数时,默认情况下它为字符串格式,为了接受整数格式的参数,通常请遵循此方法。

例如-

new Date() // output Wed Sep 25 2019 00:35:05 GMT+0530 (India Standard Time)
+new Date() // output 1569351921895

答案 2 :(得分:1)

[+本身并不意味着什么,它是将两个独立的东西组合在一起的。

关键部分是+params.get('productId'),表示“获取productId的值并将其强制为数字值”。例如,+"1"将成为数字而不是字符串的1,而+"foo"将成为NaN。

然后[只是下标符号的开头。

例如,如果productId为"1",则它将减少为products[1]

答案 3 :(得分:0)

ngOnInit() {
  this.route.paramMap.subscribe(params => {
    this.product = products[+params.get('productId')]; // here [+params.get(productIs) ] returns you number with use of + operator and [+ means starting a bracket to map the array.
  });
}

希望您现在能理解其中的含义。

答案 4 :(得分:0)

将值从一种数据类型隐式转换为另一种数据类型,在这种情况下,是从字符串转换为数字。

https://developer.mozilla.org/en-US/docs/Glossary/Type_coercion