변수
자바스크립트 코드 동작 시 값을 저장하는 공간을 선언하는 것.
구문
var 변수명 [ = 초기값], …
초기 값을 설정하지 않는 경우 indefined(정의되지 않음)값을 할당함.
var x = 10, y = 20;
msg = "안녕하세요";
식별자
변수, 함수 등의 식별을 위한 이름
이름 규칙
- 첫 번째 문자는 영문자/밑줄/달러만 가능
- 대소문자 구분
- 자바스크립트 예약어는 사용 불가
자료형
기본형과 참조형이 있음
자바스크립트는 자료형에 관대함.
대입되는 값에 따라 타입과 크기가 알아서 정해짐
기본형
- 수치형(number) - ±4.94065645841246544*100^-324 ~ ±1.79769313486231570*10^308
- 문자열형(string) - 작은따옴표/큰따옴표로 묶인 0개 이상의 문자 집합
- 논리형(boolean) - true/false
- 특수형(null/undefined) - 정의되지 않은 값
참조형
- 배열(array) - 데이터의 집합(인덱스 번호로 접근)
- 객체(object) - 데이터의 집합(이름으로 객체의 멤버에 접근)
- 함수(function) - 특정 기능을 가진 코드 집합
기본형은 선언된 변수이름의 공간에 값이 직접 저장됨
참조형은 선언된 변수에는 실제 값이 있는 곳을 참조하는 값(메모리 주소)이 저장됨.
리터럴(상수)
데이터형에 저장되는 값 그 자체, 또는 값의 표현 방법을 말한다.
숫자리터럴
var a = 10; //10이 리터럴이다.
문자리터럴
var str = 'hello'; //'hello'가 리터럴이다.
배열리터럴
var arr = ['javascript', 10, 3.14]; //['javascript', 10, 3.14]가 리터럴이다.
document.writeln(arr[0]); //'javascript' 출력됨
var arr2 = ['javascript', ['test1', 'test2'], 10, 3.14]
document.writeln(arr1[1][0]); //'test1' 출력됨
객체 리터럴(해시, 연상 배열이라고도 불림)
배열은 인덱스 번호로 각 요소에 접근
객체는 인덱스 뿐만 아니라 문자열을 키로하여 접근이 가능
vat obj = {x:1, y:2, z:3};
document.writeln(obj.x); //1출력됨
document.writeln(obj['x']); //1출력됨
함수 리터럴
자바스크립트에서는 함수도 데이터타입으로 취급함.
즉 함수 정의를 변수에 담을 수 있다.
정의되지 않은 값
undefined
- 변수가 선언만 하고 초기화 하지 않은 경우
- 정의되지 않은 프로퍼티를 참조하는 경우
var x;
var obj = {a:123};
document.writeln(x); //undefined 출력됨. 값이 없음
document.writeln(obj.b); //undefined 출력됨. 객체에 속성이 없음
주의! undefined는 변수이름이다. 값 대입이 가능하지만 절대 사용하지 말자.
자바스크립트에서 객체의 멤버에 접근할 때 연상배열이라고하는 형태로 저장됨
객체 참조변수에 []를 이용하여 인덱스 번호 대신 이름으로 접근이 가능함.
'교육자료 > Javascript' 카테고리의 다른 글
06. 자바스크립트 내장객체 (0) | 2019.05.09 |
---|---|
05. 자바스크립트 예외처리 (0) | 2019.05.09 |
04. 자바스크립트 제어문 (0) | 2019.05.09 |
03. 자바스크립트 연산자 (0) | 2019.05.09 |
01. 자바스크립스 테스트 하기 (0) | 2019.05.09 |