다음을 통해 공유


JScript 변수 및 상수 선언

업데이트: 2007년 11월

JScript 프로그램에서는 프로그램에서 사용할 각 변수의 이름을 반드시 지정해야 합니다. 또한, 각 변수가 저장할 데이터 형식도 지정할 수 있습니다. 이러한 작업들은 모두 var 문을 사용하여 수행합니다.

형식화된 변수 및 상수 선언

JScript에서는 변수를 선언할 때 형식 주석을 사용하여 변수의 형식도 선언할 수 있습니다. 다음 예제에서는 변수 count를 int(정수) 형식으로 선언합니다. 초기값이 제공되어 있지 않으므로, count는 int의 기본값인 0을 가집니다.

var count : int; // An integer variable.

변수에 초기값을 할당할 수도 있습니다.

var count : int = 1; // An initialized integer variable.

변수와 거의 같은 방법으로 선언되는 상수는 반드시 초기화해야 합니다. 상수 값은 일단 정의되면 변하지 않습니다. 예를 들면 다음과 같습니다.

const daysInWeek : int = 7;            // An integer constant.
const favoriteDay : String = "Friday"; // A string constant.
const maxDaysInMonth : int = 31, maxMonthsInYear : int = 12

물론, 특정 유형의 변수를 선언할 때 할당된 값은 해당 형식에 대해 의미를 가지는 값이라야 합니다. 예를 들어, 정수 변수에 문자열 값을 할당하는 것은 잘못된 것입니다. 만일 정수 변수에 문자열 값을 할당하면 프로그램에서는 코드의 형식 불일치를 나타내는 TypeError 예외를 throw합니다. TypeError는 실행 중인 스크립트에서 발생할 수 있는 예외 또는 오류의 한 종류입니다. catch 블록에서는 JScript 프로그램에서 throw한 예외를 catch할 수 있습니다. 자세한 내용은 try...catch...finally 문을 참조하십시오.

여러 변수의 형식과 초기값을 동시에 선언할 수 있습니다. 이 때에는 각 선언을 별개의 줄에 포함시키면 코드를 읽기가 더 쉽습니다. 예를 들어, 다음 코드 세그먼트는 읽기가 어렵습니다.

var count : int = 1; amount : int = 12, level : double = 5346.9009 

반면에 다음과 같이 하면 읽기가 쉽습니다.

var count : int = 1;
var amount : int = 12;
var level : double = 5346.9009;

한 줄에 여러 변수를 선언할 때 형식 주석은 바로 앞에 나오는 변수에만 적용됩니다. 다음 코드에서 x는 형식을 지정하지 않으므로 기본 형식인 Object 형식이고, y는 int 형식입니다.

var x, y : int;

형식화되지 않은 변수 및 상수 선언

반드시 형식화된 변수를 사용할 필요는 없지만 형식화되지 않은 변수를 사용하는 프로그램은 실행 속도가 느리고 오류가 발생하기 쉽습니다.

다음 예제에서는 count라는 이름의 한 변수를 선언합니다.

var count;  // Declare a single declaration.

지정된 데이터 형식이 없으므로 변수나 상수의 기본 형식은 Object입니다. 할당된 값이 없으면 변수의 기본값은 undefined입니다. 다음 예제 코드에서는 명령줄 프로그램을 위한 이러한 기본값을 보여 줍니다.

var count; // Declare a single declaration using default type and value.
print(count); //Print the value of count.
print(typeof(count)); // Prints undefined.

다음과 같이 변수의 형식을 선언하지 않고 변수에 초기값을 지정할 수 있습니다.

var count = 1; // An initialized variable.

다음 예제에서는 하나의 var 문을 사용하여 여러 개의 변수를 선언합니다.

var count, amount, level;  // multiple declarations with a single var keyword.

변수에 특정한 값을 할당하지 않고 변수를 선언하고 초기화하려면 JScript 값인 null을 할당합니다. 예를 들면 다음과 같습니다.

var bestAge = null;

값을 할당하지 않고 선언된 변수는 JScript 값인 undefined 값을 가집니다. 예를 들면 다음과 같습니다.

var currentCount;
var finalCount = 1 * currentCount; // finalCount has the value NaN since currentCount is undefined.

JScript에서 null은 0은 아니지만 0으로 변환되는 반면 undefined는 숫자가 아닌 특수 값인 NaN으로 변환된다는 점에서 null과 undefined는 서로 다릅니다. null 값과 undefined 값은 같음 연산자(==)를 사용하면 항상 동일한 것으로 비교됩니다.

형식화되지 않은 상수를 선언하는 과정은 변수 선언 과정과 비슷하지만 형식화되지 않은 상수에 대해서는 초기값을 반드시 제공해야 합니다. 예를 들면 다음과 같습니다.

const daysInWeek  = 7;
const favoriteDay  = "Friday";
const maxDaysInMonth  = 31, maxMonthsInYear = 12

var를 사용하지 않고 변수 선언

var 키워드를 사용하지 않고 변수를 선언한 다음 변수에 값을 할당할 수 있습니다. 이렇게 하는 것을 암시적 선언이라고 합니다. 그러나 이 방법은 사용하지 않는 것이 좋습니다. 암시적 선언을 하면 할당된 이름을 가진 전역 개체의 속성이 만들어지며, 이 속성은 전역 범위에서 볼 수 있는 변수처럼 작동합니다. 그러나 프로시저 수준에서 변수를 선언할 때는 일반적으로 전역 범위에서 표시되는 것을 원치 않는 경우입니다. 이 경우에는 변수 선언에서 var 키워드를 반드시 사용해야 합니다.

noStringAtAll = ""; // The variable noStringAtAll is declared implicitly.

선언하지 않은 변수는 사용할 수 없습니다.

var volume = length * width; // Error - length and width do not yet exist.
참고:

var 키워드를 사용하지 않고 변수를 선언하면 JScript의 기본 모드인 고속 모드에서 실행할 때 컴파일 타임 오류가 발생합니다. var 키워드를 사용하지 않는 명령줄에서 프로그램을 컴파일하려면 /fast-를 사용하여 고속 옵션을 해제해야 합니다. 스레딩 문제로 인해 ASP.NET에서 고속 옵션을 해제하는 것은 안전하지 않습니다.

참고 항목

작업

방법: 명령줄에서 JScript 코드 컴파일

개념

JScript 식별자

기타 리소스

JScript 변수 및 상수

JScript 데이터 형식