Hallo, ich benutze seit kurzem TypeScript. Es ist eine super nützliche Sprache für mich :)
Übrigens, ich bin in einem Tutorial über String Type
hier https://www.typescriptlang.org/docs/handbook/basic-types.html
TypeScript-Version:
1.8.10
Code
Hallo.ts
let name: string = "bob";
Immer wenn ich kompiliere, gibt der Compiler Folgendes aus.
$ 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'.
Hallo.ts
let aname: string = "bob";
Ich habe einen Teil der lib.d.ts
gelesen und er hat declare var name: string;
. Ich kann also verstehen, dass der Compiler einen Fehler ausgibt. Welches Konzept können wir jedoch nicht mit der Variablen name
in TypeScript verwenden?
Und ich denke, das Tutorial, das nicht funktioniert, ist nicht gut :(
Oder stimmt etwas mit mir nicht? Ich hoffe, eine Antwort wiederzugeben :)
Weil es im _global scope_ bereits eine Variable namens name
gibt. Probieren Sie es in Ihrem Browser aus, console.log(name)
und Sie sehen eine leere Zeichenfolge (oder eine andere Zeichenfolge) anstelle von undefined
.
Fügen Sie Ihre Namensvariable in ein _module_ oder namespace
: https://basarat.gitbooks.io/typescript/content/docs/project/modules.html
Dokumentation für diese Variable: https://developer.mozilla.org/en-US/docs/Web/API/Window/name : rose:
@basarat
Vielen Dank für Ihre Antwort. Das hat so eine Bedeutung ...
Ich wusste nicht, dass es im globalen Bereich bereits eine Variable name
:)
@ DanielRosenwasser
Vielen Dank, dass Sie das Dokument auch repariert haben :)
Hilfreichster Kommentar
Weil es im _global scope_ bereits eine Variable namens
name
gibt. Probieren Sie es in Ihrem Browser aus,console.log(name)
und Sie sehen eine leere Zeichenfolge (oder eine andere Zeichenfolge) anstelle vonundefined
.Fix
Fügen Sie Ihre Namensvariable in ein _module_ oder
namespace
: https://basarat.gitbooks.io/typescript/content/docs/project/modules.html