2013-01-07 16 views
13

タイトルはそれをすべて言うようにjavascriptの変数を宣言するが、私はより明確に提供されます:すべての変数はタイプvarとして宣言されたJavaScriptの多くのサンプルを見た後は、特定の種類

を、および他のデータ型のサポートを見て、なぜ上がりませんそのように宣言された特定のデータ型の変数はありませんか?つまり、なぜこれではありません。代わりにOReilly Javascriptのようなサイトを見てみると

var hello = 'Hello, World'

の使用

string hello = 'Hello, World'

他のタイプのための予約語があることを示しています。もう一度、なぜ彼らは使用されていないのですか?このような行を作っていないでしょうか:typeof(variable)==='string';はもはや必要ありませんか?

+6

Javascriptは型なしの言語です。 http://stackoverflow.com/questions/964910/is-javascript-an-untyped-language –

+2

@ JonasG.Drange ECMAScriptは、動的に型指定された(http://c2.com/cgi/wiki?DynamicTyping)言語。 (値にはまだ型があるので、* un *型の言語にすることはできません) –

+1

@pstリンクされた答えを注意深く読んでください。 「静的型」の省略形になるように、「型指定されていない」という言葉を意図的に乱用しています。私はその虐待に同意しませんが、それは別の問題です。 –

答えて

35

JavaScript変数には型がありません。 の値はです。

言語は、このようなコードを書くために私達を許可する:

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

型は変数の値によって決定されるので、だから、変数の宣言で型を指定する無意味だろう。これは "ダイナミック"な言語ではかなり一般的です。

+0

あらかじめ型式を宣言することはできませんか? – CBredlow

+4

それは正しいです。 –

+0

'var speed:float = 10.00;' –

関連する問題