Typescript: El operador '+' no se puede aplicar a los tipos 'número []' y '-1000'

Creado en 12 sept. 2017  ·  1Comentario  ·  Fuente: microsoft/TypeScript

Tengo una función desde aquí:
https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript
Y TS dice que hay un error, no estoy seguro de si es cierto.
Y en caso de que esto no sea un error, pero esto lo cuenta como error, ¿hay alguna forma de @suppresslo ?
Gracias.

Versión de TypeScript: 2.3.2 / pero lo mismo en el patio de recreo: https://www.typescriptlang.org/play/index.html

Código

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

Comportamiento esperado:
¿No hay error?
Comportamiento real:
Operator '+' cannot be applied to types 'number[]' and '-1000'.

Question

Comentario más útil

Este no es un foro de soporte.

Las preguntas deben hacerse en StackOverflow o en Gitter.im .

Pero ... TypeScript lo protege de la coerción implícita, por lo que debe convertir la matriz literal :

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

>Todos los comentarios

Este no es un foro de soporte.

Las preguntas deben hacerse en StackOverflow o en Gitter.im .

Pero ... TypeScript lo protege de la coerción implícita, por lo que debe convertir la matriz literal :

  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)
    )
  }
¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

dlaberge picture dlaberge  ·  3Comentarios

Roam-Cooper picture Roam-Cooper  ·  3Comentarios

MartynasZilinskas picture MartynasZilinskas  ·  3Comentarios

seanzer picture seanzer  ·  3Comentarios

wmaurer picture wmaurer  ·  3Comentarios