변수란?
변수(Variables)는 변하는 데이터(값)을 저장할 수 있는 메모리 공간입니다. 데이터를 담을 수 있는 그릇이라 할 수 있죠. 변수에는 데이터가 오직 한 개만 저장됩니다. 그러다 보니
새로운
데이터가 들어오면 기존에 있던 데이터는 메모리 공간에서 지워지게 됩니다. 변수에 저장할 수 있는 데이터의 종류로는 문자형(String),숫자형(Numbers), 논리형(Boolean)
그리고 빈(Null) 데이터가 있습니다.
변수 선언
변수를 선언할 때는 다음 기본형과 같이 var 키워드를 변수형 앞에 붙입니다. 변수명에는 한글을 사용할 수 없으며, 영문과 숫자 그리고 일부 특수 문자(_,$)만 포함할 수 있습니다. 변수명은 의미에 맞게 만드는 것이 좋습니다. 가령, 수학 시험 점수를 저장하는 변수라면 'mathNum'이라고 이름 지으면 되겠죠, 이때 변수명은 단어와 단어의 조합으로 지었고, 두 번째 단어의 첫 글자는 대문자로 표기했습니다. 이는 마치 낙타의 등과 같다고 해서 낙타(Camel)표기법이라 부릅니다.
{
var name;
or
var name = value;
}
변수를 선언하면 변수명으로 데이터를 저장할 수 있는 공간이 생성됩니다. 다음은 box라는 이름을 가진 변수에 100이라는 값을 대입한 예제입니다. 초기에는 값이 등록되지
않은
상태(Null)입니다. box에 100을 대입하면 다음 그림과 같이 변수에 100이 저장됩니다. 변수에는 하나의 값만 넣을 수 있습니다.
{
var box;
box = 100;
}
만약 변수 box에 값을 두 번 넣으면 어떻게 될까요?
다음과 같이 변수 box에 새로운 데이터 30이 저장되면 기존에 저장되어 있던 데이터 100은 삭제되고 새로운 데이터 30이
저장됩니다.위에서 작성한 문서를 저장한 후 브라우저에서 확인하면 변수 box에 마지막으로 저장된 데이터 30이 출력됩니다.
{
var box;
box = 100;
box = 30;
document.write(box); //30
}
식별자
식별자란 프로그램을 작성할 때 함수, 변수, 배열, 객체 등 여러 요소들을 구별하고 가독성을 높이기 위해 프로그래머가 지정한 이름입니다.
식별자 표기법
- 카멜 표기법 : 카멜 표기법은 기본적으로 소문자로 표시합니다. 단, 여러 단어가 들어가는 이름의 경우에는 첫 단어를 제외하고 다음 단어부터는 첫 글자를 대문자로 표기합니다. 변수나 함수명을 지을 때 많이 사용합니다.
- 파스칼 표기법 : 파스칼 표기법은 카멜 표기법과 비슷하나 모든 단어의 첫 글자를 대문자로 시작합니다.
- 스네이크 표기법 : 스네이크 표기법은 단어와 단어 사이를 언더바(_)로 구분하는 표기법입니다.
- 헝가리안 표기법 : 헝가리안 표기법은 자료형을 간소화한 표기와 단어를 붙여서 생성하는 표기법입니다.
식별자 선언 시 주의사항
- 첫 글자로는 $, _(언더바), 영문자만 올 수 있습니다.
- 첫 글자 다음은 영문자, 숫자, $, _(언더바)만 포함할 수 있습니다.
- 식별자로는 예약어, 즉 키워드를 사용할 수 없습니다.
- 식별자 이름을 지을 땐 되도록이면 의미를 부여해 작성하는 것이 좋습니다.
- 식별자 이름을 지을 땐 대, 소문자를 구분해야 합니다.
{
var 1num = 10; (X)
var $num = 10; (O)
}
{
var 100num = 10; (X)
var num100 = 10; (O)
}
{
var document = 10; (X)
var num = 10; (O)
}
{
var num = "hello"; (X)
var num = 10; (O)
}
{
var num = 10; document.write(Num) (X)
var num = 10; document.write(num) (O)
}
키워드
키워드란 프로그램에서 이미 사용되고 있는 예약어 입니다. 키워드는 식별자 이름으로 사용할 수 없습니다.
예를 들어, let num = 10; 이란 명령어에서 let은 키워드이므로 식별자 이름으로 사용할 수 없습니다.
{
var let = 10; (X)
var lets = 10; (O)
}
자바스크립트의 경우 키워드의 종류는 총 32개가 있습니다.
{
abstract import
float switch
public class
boolean in
for synchronized
return const
break instanceof
function this
short continue
case int
if throw
static default
catch interface
implements throws
super goto
char byte
}