Bonjour, j'ai commencé à utiliser TypeScript récemment. C'est un langage super utile pour moi :)
Au fait, je suis dans un tutoriel sur String Type
ici https://www.typescriptlang.org/docs/handbook/basic-types.html
Version TypeScript:
1.8.10
Code
_hello.ts_
let name: string = "bob";
Chaque fois que je compile, le compilateur émettra ce qui suit.
$ 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";
J'ai lu une partie du lib.d.ts
et il a declare var name: string;
. Je peux donc comprendre que le compilateur émet une erreur. Cependant quel concept ne pouvons-nous pas utiliser la variable name
dans TypeScript?
Et je pense que le tutoriel qui ne fonctionne pas n'est pas bon :(
Ou y a-t-il quelque chose qui ne va pas avec moi? J'espère rejouer une réponse :)
Parce qu'il existe déjà une variable appelée name
sur la _global scope_. Essayez-le dans votre navigateur, console.log(name)
et vous verrez une chaîne vide (ou peut-être une autre chaîne) au lieu de undefined
.
Mettez votre variable de nom dans un _module_ ou namespace
: https://basarat.gitbooks.io/typescript/content/docs/project/modules.html
Documentation pour cette variable: https://developer.mozilla.org/en-US/docs/Web/API/Window/name : rose:
@basarat
Merci pour votre réponse. Cela a une telle signification ...
Je ne savais pas qu'il y avait déjà name
variable
@DanielRosenwasser
Merci d'avoir corrigé le document aussi :)
Commentaire le plus utile
Parce qu'il existe déjà une variable appelée
name
sur la _global scope_. Essayez-le dans votre navigateur,console.log(name)
et vous verrez une chaîne vide (ou peut-être une autre chaîne) au lieu deundefined
.Réparer
Mettez votre variable de nom dans un _module_ ou
namespace
: https://basarat.gitbooks.io/typescript/content/docs/project/modules.html