본문 바로가기

JavaScript

#2 자바스크립트 변수와 객체

JavaScript 변수&객체


1. 변수

자바스크립트에서 변수는 다음과 같이 선언한다.


1
var x;
cs


보통 C언어나 JAVA에서 변수의 데이터타입이 정수형(int), 실수형(double), 문자형(char) 등 다양했지만

자바스크립트에서는 var 딱 하나뿐이다.

따라서 모든 데이터타입의 값을 저장할 수 있는 것이다. 굉장히 편리하다.


var x, y 는 정수형, var t에는 문자열 데이터가 저장되었다.


자바스크립트에서 변수, 함수, 라벨 이름 등 사용자가 정의하는 식별자 이름은 다음의 규칙들을 따라야만 한다.

1. 사용할 수 있는 문자는 알파벳(a~z, A~Z), 숫자(0~9), 밑줄(_), 달러 기호($) 이다.

2. 첫 글자로는 숫자를 사용할 수 없다.

3. 예약어(이미 자바스크립트에서 사용하는 특수한 키워드)는 식별자로 사용할 수 없다.


보면 식별자의 규칙이 약간씩 C언어와 JAVA와 다른 점을 확인할 수 있다.

위의 규칙들을 준수한다면 마음대로 변수나 함수명을 지정할 수 있다는 것이다.





2. 객체


기존 Java에서는 Class라는 구문을 제공해줘서 이를 이용해 객체를 생성할 수 있었는데

자바스크립트에는 Class라는 개념이 없다. 따라서 객체를 생성할 때는 변수 선언과 비슷하게 한다.

1
var obj = { point1: 1.0, point2: "포인트" };
cs

위 예제는 객체 리터럴로 객처를 생성한 모습이다.

{ ... } 이 부분이 객체 리터럴이며, 객체 리터럴을 변수 obj에 대입한 것이다.

여기서 point1, point2 이 부분을 프로퍼티라고 부르기도 한다.




객체 안의 프로퍼티를 읽고 싶을 때는 다음과 같이 표현한다.

1
2
3
4
var obj = { point1: 1.0, point2: "포인트" };
 
obj.point1        // -> 1.0
obj["point2"]    // -> 
cs

위 예제처럼 객체 안 프로퍼티 값을 읽을 땐 마침표(.) 연산자 또는 대괄호([ ]) 연산자를 이용하는데

여기서 중요한 점은 마침표 연산자를 사용할 때는 마침표 뒤에 프로퍼티 이름만 쓰면 되는데

( obj.point1  /  obj.point2 )

대괄호 연산자를 이용할 땐 문자열을 반환하는 표현식을 써줘야 한다. 설령 프로퍼티가 문자열 데이터가 저장되어 있지 않아도 말이다.

( obj["point1"]  /  obj["point2"] )


위 사진은 실제로 객체 내 프로퍼티를 읽어본 내용이다.

실제로 대괄호 연산자를 문자열표시 없이 사용하니 에러가 난다.


( 참고로 Chrome 개발자 도구 환경에서 Enter쳐서 결과를 얻은 후 이전에 내가 타이핑했던 내용을 다시 불러오고

싶을 때는 위쪽 방향키(↑)를 누르면 된다! )



또한 프로퍼티는 객체 내 없는 프로퍼티 이름에 값을 입력하여 새로운 프로퍼티를 추가할 수 있고,

delete 연산자를 이용해 기존에 있던 프로퍼티를 삭제할 수도 있다.

1
2
3
4
5
var obj = { point1: 1.0, point2: "포인트" };
 
obj.point3 = "포인팅";
 
delete obj.point1;
cs





이렇게 생각보다 간단한 자바스크립트의 변수, 객체를 알아봤다.

다음엔 자바스크립트의 함수에 대하여 포스팅하겠다.