Typescript: рдСрдкрд░реЗрдЯрд░ '+' рдХреЛ 'рдирдВрдмрд░ [] рдФрд░' -1000 'рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рд╕рд┐рддре░ 2017  ┬╖  1рдЯрд┐рдкреНрдкрдгреА  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript

рдпрд╣рд╛рдБ рд╕реЗ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдорд┐рд▓рд╛:
https://stackoverflow.com/questions/105034/create-guid-uuid-in-javarscript
рдФрд░ рдЯреАрдПрд╕ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ, рдпрдХреАрди рдирд╣реАрдВ рддреЛ рдпрд╣ рд╕рдЪ рд╣реИред
рдФрд░ рдЕрдЧрд░ рдпрд╣ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди ts рдЗрд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЧрд┐рдирддрд╛ рд╣реИ - рдХреНрдпрд╛ @suppress рдХреЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?
рдзрдиреНрдпрд╡рд╛рджред

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг: 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 рдкрд░ рдкреНрд░рд╢реНрди рдкреВрдЫреЗ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред

рд▓реЗрдХрд┐рди ... рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЬрд╝рдмрд░рджрд╕реНрддреА рд╕реЗ рдмрдЪрд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рд░рдгреА рд╢рд╛рдмреНрджрд┐рдХ рдХрд╛рд╕реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ :

  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 рдкрд░ рдкреНрд░рд╢реНрди рдкреВрдЫреЗ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред

рд▓реЗрдХрд┐рди ... рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЬрд╝рдмрд░рджрд╕реНрддреА рд╕реЗ рдмрдЪрд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рд░рдгреА рд╢рд╛рдмреНрджрд┐рдХ рдХрд╛рд╕реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ :

  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 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

kyasbal-1994 picture kyasbal-1994  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

blendsdk picture blendsdk  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dlaberge picture dlaberge  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

manekinekko picture manekinekko  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MartynasZilinskas picture MartynasZilinskas  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ