Typescript: 运算符“ +”不能应用于类型“ number []”和“ -1000”

创建于 2017-09-12  ·  1评论  ·  资料来源: microsoft/TypeScript

从这里得到了一个功能:
https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript
TS表示存在错误,不确定是否正确。
如果这不是错误,但是ts会将其计为错误-有没有办法
谢谢。

TypeScript版本: 2.3.2 /,但在操场上也一样: https

  function uuidv4()
  {
    return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
      (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
    )
  }

预期行为:
没有错吗
实际行为:
Operator '+' cannot be applied to types 'number[]' and '-1000'.

Question

最有用的评论

这不是支持论坛。

应该在StackOverflowGitter.im

但是... TypeScript保护您免受隐式强制,因此您需要转换数组文字

  function uuidv4()
  {
-    return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
+    return ([1e7] as any + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
      (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
    )
  }

>所有评论

这不是支持论坛。

应该在StackOverflowGitter.im

但是... TypeScript保护您免受隐式强制,因此您需要转换数组文字

  function uuidv4()
  {
-    return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
+    return ([1e7] as any + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
      (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
    )
  }
此页面是否有帮助?
0 / 5 - 0 等级