【问题标题】:meaning of "[+" in Javascript or Angular [duplicate]Javascript或Angular中“[+”的含义[重复]
【发布时间】:2019-09-24 18:58:56
【问题描述】:

我很好奇。

这段代码中[+是什么意思:

ngOnInit() {
  this.route.paramMap.subscribe(params => {
    this.product = products[+params.get('productId')];
  });
}

【问题讨论】:

标签: javascript angular typescript


【解决方案1】:

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

例如:

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

在您的代码中,params.get('productId') 返回字符串,您可能需要它作为数字。这是简写​​,但它只将用字符串包裹的数字转换为数字 - 而不是“一”到 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

【讨论】:

    【解决方案2】:

    这里没有与 Angular 相关的内容。

    这是Javascript的概念,基本上会把值变成数字类型(格式)。

    当你在路由中传递你的参数时,默认是字符串格式,为了接受同样的整数格式,一般按照这个方法。

    例如——

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

    【讨论】:

      【解决方案3】:

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

      关键部分是+params.get('productId'),意思是“取productId的值,强制转化为数值”。例如,+"1" 将变为 1 作为数字而不是字符串,+"foo" 将变为 NaN。

      那么[ 只是下标符号的左括号。

      例如,如果 productId 是"1",那么它将减少到products[1]

      【讨论】:

        【解决方案4】:
        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.
          });
        }
        

        希望你现在明白意思了。

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-05-31
            • 2012-02-28
            • 1970-01-01
            • 2013-03-26
            • 2017-08-28
            • 2015-03-07
            • 2016-10-22
            相关资源
            最近更新 更多