2013-01-07 19 views
13

Il titolo dice tutto, ma mi fornirà maggiori chiarimenti:Dichiarare variabili JavaScript come tipi specifici

Dopo aver visto molti campioni di javascript in cui tutte le variabili sono dichiarate come tipo var, e di vedere il supporto per altri tipi di dati, perché aren 't variabili di un tipo di dati specifico dichiarato come tale? Significato, perché non è questo:

string hello = 'Hello, World'

usato al posto di

var hello = 'Hello, World'

Guardando siti come OReilly Javascript dimostra che non ci sono parole riservate per altri tipi. Ancora una volta, perché non vengono utilizzati? Non avrebbe fatto linee del genere: typeof(variable)==='string'; non più necessario?

+6

Javascript è un linguaggio non tipizzato. http://stackoverflow.com/questions/964910/is-javascript-an-untyped-language –

+2

@ JonasG.Drange ECMAScript è una [* * dinamicamente tipizzati] (http://c2.com/cgi/wiki?DynamicTyping) linguaggio. (I valori hanno ancora tipi e quindi non possono essere * un * -typed language.) –

+1

@ pst leggi attentamente la risposta collegata. C'è un abuso deliberato del linguaggio "non tipizzato" per essere una scorciatoia per "nessun tipo statico". Non sono d'accordo con quell'abuso, ma questo è un altro problema. –

risposta

35

Molto semplicemente, variabili JavaScript non hanno i tipi. I valori hanno tipi.

Il linguaggio ci permette di scrivere codice come questo:

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

quindi sarebbe inutile specificare il tipo in una dichiarazione di variabile, perché il tipo è dettata dal valore della variabile. Questo è abbastanza comune nelle lingue "dinamiche".

+0

Quindi non è possibile dichiarare un tipo in anticipo? – CBredlow

+4

Ciò è corretto. –

+0

e se faccio 'var speed: float = 10.00;' –

Problemi correlati