Hola, comencé a usar TypeScript recientemente. Es un lenguaje súper útil para mí :)
Por cierto, estoy en un tutorial sobre String Type
aquí https://www.typescriptlang.org/docs/handbook/basic-types.html
Versión de TypeScript:
1.8.10
Código
_hello.ts_
let name: string = "bob";
Siempre que compilo, el compilador emitirá lo siguiente.
$ tsc hello.ts
../../usr/local/lib/node_modules/typescript/lib/lib.d.ts(16757,13): error TS2451: Cannot redeclare block-scoped variable 'name'.
hello.ts(1,5): error TS2451: Cannot redeclare block-scoped variable 'name'.
_hello.ts_
let aname: string = "bob";
Leí una parte de lib.d.ts
y tiene declare var name: string;
. Entonces puedo entender que el compilador emite un error. Sin embargo, ¿qué concepto no podemos usar la variable name
en TypeScript?
Y creo que el tutorial que no funciona no es bueno :(
¿O hay algo mal en mí? Espero reproducir una respuesta :)
Porque ya existe una variable llamada name
en el _ámbito global_. Pruébelo en su navegador, console.log(name)
y verá una cadena vacía (o tal vez alguna otra cadena) en lugar de undefined
.
Coloque su variable de nombre en un _module_ o namespace
: https://basarat.gitbooks.io/typescript/content/docs/project/modules.html
Documentación para esta variable: https://developer.mozilla.org/en-US/docs/Web/API/Window/name : rose:
@basarat
Gracias por su respuesta. Eso tiene tal significado ...
No sabía que ya hay name
variable en el alcance global :)
@DanielRosenwasser
Gracias por arreglar el documento también :)
Comentario más útil
Porque ya existe una variable llamada
name
en el _ámbito global_. Pruébelo en su navegador,console.log(name)
y verá una cadena vacía (o tal vez alguna otra cadena) en lugar deundefined
.Reparar
Coloque su variable de nombre en un _module_ o
namespace
: https://basarat.gitbooks.io/typescript/content/docs/project/modules.html