자바스크립트 변수

  • 변수명 규칙
    • 자바스크립트 예약어는 사용할 수 없음
    • 영문자 혹은 밑줄( _ )로 시작해야 하며, 숫자로 시작할 수 없음
    • 대문자, 소문자, 숫자, 한정된 특수문자 ( _ $ ) 만 가능
    • 공백을 포함할 수 없음

 

  • 식별자의 의미를 더 명확하게 하려고 사용하는 규칙
    • 생성자 함수의 이름은 항상 대문자로 시작
    • 변수, 객체, 메소드의 이름은 항상 소문자로 시작
    • 여러 단어로 이루어진 식별자는 각 단어의 첫 글자를 대문자로 함

 

  • 변수를 선언하고 값을 할당
// 변수 선언
var num;

// 변수에 값을 할당
num = 123;
document.write('num = ' + num + '<br>');

 

  • 두 개 이상의 변수를 한 번에 선언
var a, b;
a=10;
b=5;
document.write('a + b = '+(a+b));

 

  • ⚠️ 변수를 선언하지 않고 출력할 경우, 오류발생
document.write(num2);	// 오류발생

 

  • ⚠️ 변수를 선언한 후 값을 할당하지 않고 출력할 경우, 오류발생
var num3;
document.write('num3 = ' + num3);
// [출력결과] num3 = undefined

 

  • ⚠️ 동일한 변수명으로 선언할 경우, 오류발생
var food='만두';		// 변수의 선언, 초기화
	document.write(food + '<br>');
	
	food='라면';		// 데이터 변경
	document.write(food + '<br>');
	
	var food='김밥';	// 동일한 변수명으로 변수 선언
	document.write(food);

/* [출력결과]
   만두
   라면
   김밥 */

 

 

자바스크립트 자료형

  • 코드상에 자료형을 표시하지 않지만 내부적으로 데이터를 인식할 때 사용됨
var num;       // 자료형 없음(undefined)
var num = 45;  // 숫자

 

  • 자료형의 종류
    • 문자(string)
    • 숫자(number)
    • 논리(boolean)
    • 함수(function)
    • 객체(object)
    • undefined
    • null

 

  • typeof 변수명 : 해당 변수에 저장된 데이터의 타입을 알아내는 연산자
// 변수 선언
var stringVar = 'Hello';		// 문자열
var numberVar = 123;			// 숫자
var booleanVar = true;			// boolean
var functionVar = function(){};		// 함수
var objectVar = {};			// 객체

document.write('stringVar : ' + typeof stringVar + '<br>');	// string
document.write('numberVar : ' + typeof stringVar + '<br>');	// number
document.write('booleanVar : ' + typeof stringVar + '<br>');	// boolear
document.write('functionVar : ' + typeof stringVar + '<br>');	// function
document.write('objectVar : ' + typeof stringVar + '<br>');	// object

 

 

자바스크립트 형변환

  • 자동 형변환 : 뺄셈( - ), 곱셈( * ), 나눗셈( / ) 연산자는 자동 형변환됨
var input=prompt('숫자를 입력하세요', '숫자');    // 10 입력시

document.write(input * 10);    // 숫자로 자동 형변환 : 100
document.write('<br>');

document.write(input + 10);    // + 연산자는 자동 형변환 안됨 : 1010

 

  • 숫자로 형변환 : Number(변수)
var input=prompt('숫자를 입력하세요.', '숫자');

var numberInput = Number(input);    // 문자 -> 숫자 형변환

document.write(typeof(numberInput)+':'+numberInput);  // number