Typescript: let name: string = "bob"; funktioniert nicht

Erstellt am 15. Apr. 2016  ·  3Kommentare  ·  Quelle: microsoft/TypeScript

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

Es funktioniert nicht.

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

Es klappt.

Hallo.ts

let aname: string = "bob";

Verhalten erwarten

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

Question

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 von undefined .

Fix

Fügen Sie Ihre Namensvariable in ein _module_ oder namespace : https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

Alle 3 Kommentare

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 .

Fix

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

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen