Typescript: deixe o nome: string = "bob"; não funciona.

Criado em 15 abr. 2016  ·  3Comentários  ·  Fonte: microsoft/TypeScript

Olá, comecei a usar o TypeScript recentemente. É uma linguagem super útil para mim :)
A propósito, estou em um tutorial sobre String Type aqui https://www.typescriptlang.org/docs/handbook/basic-types.html

Versão TypeScript:

1.8.10

Código

Isso _não_ funciona.

_hello.ts_

let name: string = "bob";

Sempre que eu compilar, o compilador emitirá o seguinte.

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

Funciona.

_hello.ts_

let aname: string = "bob";

Esperando Comportamento

Eu li uma parte de lib.d.ts e tem declare var name: string; . Posso entender que o compilador emite um erro. No entanto, que conceito não podemos usar a variável name no TypeScript?
E eu acho que o tutorial que não funciona não é bom :(
Ou há algo errado comigo? Espero repetir uma resposta :)

Question

Comentários muito úteis

Porque já existe uma variável chamada name no _escopo global_. Experimente em seu navegador, console.log(name) e você verá uma string vazia (ou talvez alguma outra string) em vez de undefined .

Consertar

Coloque sua variável de nome em um _module_ ou namespace : https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

Todos 3 comentários

Porque já existe uma variável chamada name no _escopo global_. Experimente em seu navegador, console.log(name) e você verá uma string vazia (ou talvez alguma outra string) em vez de undefined .

Consertar

Coloque sua variável de nome em um _module_ ou namespace : https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

Documentação para esta variável: https://developer.mozilla.org/en-US/docs/Web/API/Window/name : rose:

@basarat
Obrigado pela sua resposta. Isso tem um significado tão grande ...
Eu não sabia que já havia name variável no escopo global :)

@DanielRosenwasser
Obrigado por corrigir o documento também :)

Esta página foi útil?
0 / 5 - 0 avaliações