Typescript: ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ '+' нСльзя ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊ Ρ‚ΠΈΠΏΠ°ΠΌ 'number []' ΠΈ '-1000'

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 12 сСнт. 2017  Β·  1ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: microsoft/TypeScript

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΡ‚ΡΡŽΠ΄Π°:
https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript
И TS сообщаСт ΠΎΠ± ошибкС, Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ это ΠΏΡ€Π°Π²Π΄Π°.
И Ссли это Π½Π΅ ошибка, Π½ΠΎ ts считаСт это ошибкой - Π΅ΡΡ‚ΡŒ Π»ΠΈ способ @ ΠΏΠΎΠ΄Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅?
Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€ΡŽ.

ВСрсия TypeScript: 2.3.2 / Π½ΠΎ Ρ‚ΠΎ ΠΆΠ΅ самоС Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅: https://www.typescriptlang.org/play/index.html

Код

  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'.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π­Ρ‚ΠΎ Π½Π΅ Ρ„ΠΎΡ€ΡƒΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

Вопросы слСдуСт Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° 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 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ