Typescript: Operator '+' tidak dapat diterapkan ke jenis 'number []' dan '-1000'

Dibuat pada 12 Sep 2017  ·  1Komentar  ·  Sumber: microsoft/TypeScript

Punya fungsi dari sini:
https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript
Dan TS mengatakan ada kesalahan, tidak yakin apakah itu benar.
Dan jika ini bukan kesalahan, tetapi ts menganggap ini sebagai kesalahan - apakah ada cara untuk @menekannya ?
Terima kasih.

TypeScript Version: 2.3.2 / tetapi sama di taman bermain: https://www.typescriptlang.org/play/index.html

Kode

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

Perilaku yang diharapkan:
Tidak ada kesalahan?
Perilaku sebenarnya:
Operator '+' cannot be applied to types 'number[]' and '-1000'.

Question

Komentar yang paling membantu

Ini bukan forum dukungan.

Pertanyaan harus diajukan di StackOverflow atau di Gitter.im .

Tapi ... TypeScript melindungi Anda dari paksaan implisit, jadi Anda perlu mentransmisikan literal array :

  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)
    )
  }

>Semua komentar

Ini bukan forum dukungan.

Pertanyaan harus diajukan di StackOverflow atau di Gitter.im .

Tapi ... TypeScript melindungi Anda dari paksaan implisit, jadi Anda perlu mentransmisikan literal array :

  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)
    )
  }
Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

Antony-Jones picture Antony-Jones  ·  3Komentar

DanielRosenwasser picture DanielRosenwasser  ·  3Komentar

blendsdk picture blendsdk  ·  3Komentar

dlaberge picture dlaberge  ·  3Komentar

fwanicka picture fwanicka  ·  3Komentar