ECMAScript 변수

var 연산자를 사용하여 변수를 선언하십시오.

변수 이름은 간단한 규칙을 준수해야 합니다

변수 선언

이전 장에서 설명한 것처럼, ECMAScript에서의 변수는 var 연산자(var의 약자)와 변수 이름으로 정의됩니다. 예를 들어:

var test = "hi";

이 예제에서는 변수 test를 선언하고 "hi" 문자열로 초기화했습니다. ECMAScript는약한 유형따라서 해석 프로그램은 test에 대한 문자열 값을 자동으로 생성합니다명확한 유형 선언이 필요하지 않습니다

또한, 하나의 var 문법으로 두 개나 많은 변수를 정의할 수 있습니다:

var test1 = "hi", test2 = "hello";

이전 코드는 test1 변수를 "hi"로 초기화한 것 외에도 test2 변수를 "hello"로 초기화한 것을 정의합니다.

그러나같은 var 문법으로 정의된 변수는 같은 유형을 가지지 않아도 됩니다,예를 들어:

var test = "hi", age = 25;

이 예제는 test를 다시 정의하는 것 외에도 age를 정의하고 25로 초기화합니다. test와 age가 두 가지 다른 데이터 유형이어도 ECMAScript에서는 이렇게 정의할 수 있습니다.

Java와 달리 ECMAScript에서의 변수는초기화가 필요하지 않습니다(그들은 배후에서 초기화되며, 나중에 이 주제에 대해 설명할 것입니다)。따라서 다음 코드行도 유효합니다:

var test;

또한, Java와 다른 점은 변수다른 유형의 값을 저장할 수 있습니다。이것은 약한 유형 변수의 장점입니다. 예를 들어, 문자열 유형의 값을 초기화한 후, 다음과 같이 숫자 값으로 설정할 수 있습니다:

var test = "hi";
alert(test);
test = 55;
alert(test);

이 코드는 문제 없이 문자열 값과 숫자 값을 출력할 것입니다. 그러나, 이전에 설명했듯이, 변수를 사용할 때 좋은编码 관행은 항상 같은 유형의 값을 저장하는 것입니다.

변수 이름 지정

변수 이름은 두 가지 간단한 규칙을 준수해야 합니다:

  • 첫 번째 문자는 문자, 밑줄(_), 또는 달러 기호($)여야 합니다
  • 나머지 문자는 밑줄, 달러 기호($), 또는 어떤 문자나 숫자 문자일 수 있습니다

다음 변수들은 모두 유효합니다:

var test;
var $test;
var $1;
var _$te$t2;

유명한 변수 이름 규칙

변수 이름의 문법이 올바르다는 것은 그것을 사용해야 한다는 것을 의미하지 않습니다. 변수는 다음 중 하나의 유명한 이름 규칙을 준수해야 합니다:

Camel 표기법

첫 글자는 소문자이며, 이어지는 글자들은 모두 대문자로 시작합니다. 예를 들어:

var myTestValue = 0, mySecondValue = "hi";

Pascal 표기법

첫 글자는 대문자이며, 이어지는 글자들은 모두 대문자로 시작합니다. 예를 들어:

var MyTestValue = 0, MySecondValue = "hi";

헝가리 타입 표기법

Pascal 표기법으로 이름을 붙인 변수 앞에 소문자(또는 소문자 시퀀스)를 추가하여 해당 변수의 타입을 설명합니다. 예를 들어, i는 정수를, s는 문자열을 나타냅니다. 예를 들어, "

var iMyTestValue = 0, sMySecondValue = "hi";

이 튜토리얼은 예제 코드를 더 쉽게 읽을 수 있도록 이러한 프리كس를 사용합니다:

타입 프리كس 예제
배열 a aValues
부울형 b bFound
소수점 타입(숫자) f fValue
함수 fn fnMethod
정수(숫자) i iValue
객체 o oType
정규 표현식 re rePattern
문자열 s sValue
형변(모든 타입이 될 수 있습니다) v vValue

변수 선언은 필요하지 않습니다

ECMAScript의 또 다른 흥미로운 점(대부분의 프로그래밍 언어와의 주요 차이점)은 변수를 사용하기 전에 선언할 필요가 없다는 점입니다. 예를 들어:

var sTest = "hello ";
sTest2 = sTest + "world";
alert(sTest2);

위의 코드에서, 먼저 sTest는 문자열 타입의 값 "hello"로 선언됩니다. 다음 줄에서는 sTest2 변수를 사용하여 sTest와 문자열 "world"을 연결합니다. sTest2는 var 연산자로 정의되지 않았으며, 여기서는 이미 선언된 것처럼 삽입되었습니다.

ECMAScript의 해석 프로그램은 선언되지 않은 식별자를 만날 때, 해당 변수 이름으로 전역 변수를 생성하고 지정된 값으로 초기화합니다.

이 언어의 편리함은 그렇지만, 변수를 밀접하게 추적할 수 없다면 이렇게 하면 매우 위험합니다. 가장 좋은 관행은 다른 프로그래밍 언어와 같이 모든 변수를 항상 선언하는 것입니다.