Typescript: 演算子「+」はタイプ「number []」および「-1000」には適用できません

作成日 2017年09月12日  ·  1コメント  ·  ソース: microsoft/TypeScript

ここから関数を取得しました:
https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript
そしてTSはエラーがあると言っていますが、それが本当かどうかはわかりません。
そして、これがエラーではない場合、tsはこれをエラーとしてカウントします- @ suppressする方法はありますか?
ありがとう。

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

最も参考になるコメント

これはサポートフォーラムではありません。

質問はStackOverflowまたはGitter.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)
    )
  }

>すべてのコメント

これはサポートフォーラムではありません。

質問はStackOverflowまたはGitter.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 評価