2013-01-07 4 views
13

제목이 모든 것을 말해 같은 자바 스크립트 변수를 선언하지만, 좀 더 명확하게 제공 할 것입니다 : 모든 변수 유형 var로 선언 된 자바 스크립트의 많은 샘플을 본 후가 특정 유형의

을, 그리고 다른 데이터 유형에 대한 지원을보고, 왜 때로 믿을 수 그러한 것으로 선언 된 특정 데이터 유형의 변수는 무엇입니까? 왜하지이 의미

string hello = 'Hello, World'

대신

var hello = 'Hello, World'

OReilly Javascript 같은 사이트를 보면의 사용은 다른 유형의 예약어가 있다는 것을 보여줍니다. 다시 말하지만, 왜 사용되지 않았습니까? 이런 식으로 라인을 만들지 않겠습니까? typeof(variable)==='string'; 더 이상 필요하지 않습니까?

+6

자바는 타입없는 언어입니다. http://stackoverflow.com/questions/964910/is-javascript-an-untyped-language –

+2

@ JonasG.Drange ECMAScript는 [* 동적으로 입력 된] (http://c2.com/cgi/wiki?DynamicTyping) 언어. 값은 여전히 ​​형식을 가지고 있으므로 * un * 유형의 언어가 될 수 없습니다. –

+1

@pst 연결된 answer를주의 깊게 읽습니다. "형식이없는"언어의 의도적 인 남용은 "정적 유형 없음"의 줄임말이됩니다. 나는 그 학대에 동의하지 않지만 그것은 또 다른 문제입니다. –

답변

35

JavaScript 변수에는 유형이 없습니다. 값은입니다.

언어는 다음과 같이 코드를 작성하는 우리를 허용 : 유형이 변수의 값에 의해 결정되기 때문에

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

는 그래서, 변수 선언에서 유형을 지정하는 것이 무의미 할 것이다. 이것은 "동적 인"언어에서 상당히 일반적입니다.

+0

사전에 형식을 선언 할 수 없습니까? – CBredlow

+4

맞습니다. –

+0

만약'var speed : float = 10.00;' –