2013-01-07 23 views
13

Der Titel sagt alles, aber ich werde mehr Klarheit sorgen:Deklarieren von JavaScript-Variablen als spezifischer Typ

Nach vielen Proben von Javascript zu sehen, wo alle Variablen als Typ deklariert werden var und für andere Datentypen Unterstützung zu sehen, warum aren 't Variablen eines bestimmten Datentyps als solcher deklariert? statt

var hello = 'Hello, World'

Blick auf Seiten wie OReilly Javascript zeigt, dass es reservierte Wörter für andere Arten

string hello = 'Hello, World'

verwendet: Bedeutung, warum ist das nicht. Noch einmal, warum werden sie nicht benutzt? Wäre es nicht Linien wie folgt: typeof(variable)==='string'; nicht mehr benötigt?

+6

Javascript ist eine nicht typisierte Sprache. http://stackoverflow.com/questions/964910/is-javascript-an-untyped-language –

+2

@ JonasG.Drange ECMAScript ist ein [* dynamisch * typisierte] (http://c2.com/cgi/wiki?DynamicTyping) Sprache. (Werte haben immer noch Typen und können daher nicht * un * -typische Sprache sein.) –

+1

@pst Lesen Sie die verknüpfte Antwort sorgfältig. Es gibt einen absichtlichen Missbrauch der Sprache "untypisiert", um eine Abkürzung für "keine statischen Typen" zu sein. Ich stimme diesem Missbrauch nicht zu, aber das ist ein anderes Problem. –

Antwort

35

Ganz einfach, JavaScript-Variablen haben keine Typen. Die Werte haben Typen.

Die Sprache erlaubt uns, Code wie folgt zu schreiben:

var foo = 42; 
foo = 'the answer'; 
foo = function() {}; 

So wäre es sinnlos, die Art in einer Variablendeklaration angeben, da der Typ durch den Wert der Variablen diktiert wird. Dies ist in "dynamischen" Sprachen ziemlich üblich.

+0

So ist es nicht möglich, einen Typ vorher zu deklarieren? – CBredlow

+4

Das ist richtig. –

+0

Was passiert, wenn ich 'var speed: float = 10.00;' –

Verwandte Themen