상세 컨텐츠

본문 제목

2장) 자바스크립트 기본 학습 (1)

본문

변수, 함수, 객체와 같은 자바스크립트 언어의 기본 내용 학습.

[ 변수 선언 ] - 파일 데이터를 일시적으로 저장하고 접근 가능

숫자, 문자열, 단순한 데이터 형식 및 객체 등 다양한 데이터 형식을 가리킬 수 있다.

변수명은 반드시 문자, $, _로 시작해야하며 공백이 없어야한다. (변수명은 대소문자 구분한다.)

자바스크립트 데이터 형식

변수에 대입된 데이터를 어떻게 처리할지 결정하기 위해 Data type을 사용. (해당 변수가 어떤 작업 수행할지 결정)

 

  • 문자열 : 문자 데이터 (작은 따옴표 / 큰 따옴표로 명시 )
  • 숫자 : 숫자 데이터
  • 불린 : true / false -> 단일 비트 저장 (플래그로 사용된다.)
  • 배열 : 인덱스로 분리 구분된 일련의 데이터 요소들
    var arr = ["one", "two", "three"]
  • 객체 리터럴 : object.property 문법을 사용해서 객체 안의 값과 함수에 접근 가능var obj = {"name": "Brad", "occupation": "Hacker", "age": "Unknown"};
  • 널 : 생성되지 않았거나 사용하지 않아 변수에 저장할 값이 없는 경우 Null 값 저장.0 이나 ""(빈 문자열)보다는 null을 써야 변수에 유효 값이 안될 수 있다 ⇒ 인터프리터가 자동적으로 변수의 데이터 형식을 알아낼 것이다.
  • 비교 연산자
    == & != -> 값만 같거나 다른 경우와 === & !== 형식과 값 모두 같거나 다른 경우

익명 함수 (anonymous function)

다른 함수 호출 할 때 인자 집합 안에 직접 정의 가능.

예제 코드

더보기

1. function doCalc(n1, n2, calcFunction) {

  return calcFunction(n1, n2);

}

 

2. function addFunc(n1, n2) {

  return n1+n2;

}

doCalc(5, 10, addFunc);

 

3.

doCalc(5, 10, function(n1, n2) { return n1 + n2 });

변수 범위

지역 변수와 전역 변수로 정의할 수 있다.

더보기
var myVar = 1;
function writeIt() {
	myVar = 2;
    console.log("Variable = " + myVar);
    writeMore();
}

function writeMore() {
	console.log("Variable = " + myVar);
}

writeIt();

결과 값 :

Variable = 2

Variable = 1

 

=> 4번 줄은 3번 줄의 지역변수 값을 9번 줄은 1번 줄의 전역 변수 값을 출력하게 된다.

 

자바스크립트 객체 사용

> Number, Array, String, Date, Math 등의 내장 객체가 있다. -> 각 내장 객체들은 멤버 속성과 메소드를 갖고 있다

 

객체 문법 사용

객체 - 여러 값과 함수들을 함께 담아 놓는 곳

객체의 값 -> 속성 / 함수의 값 -> 메소드

 

[ 자바스크립트 객체 사용 ]

1. 객체 인스턴스 생성

2. 객체 생성자 이름과 함께 new 키워드 사용해 객체 인스턴스 생성

 

재사용이 필요없는 간단한 객체에 쓰기 좋은 방법

var user = new Object();
user.first = "Brad";
user.last = "Dayley";
user.getName = function() { return this.first + " " + this.last; }

 

재사용을 위한 코드

function User(first, last) {
	this.first = first;
    this.last = last;
    this.getName = function () { return this.first + " " + this.last; }
}

var user = User("Brad", "Dayley");

 

# 객체 프로토타입 패턴 사용

객체를 생성하는 고급 방법 - 프로토타입 패턴 사용

함수를 객체 자신 내부가 아니라 객체의 프로토 타입 속성 내부에 정의함으로써 패턴 구현

 

프로토 타입 내부에 정의된 함수는 새로운 객체가 생성될 때마다가 아닌 자바스크립트가 로드됐을 때 한번만 생성된다.

 

function UserProto(first, last) {
	this.first = first;
    this.last = last;
}

UserProto.prototype = {
	getFullName: function() {
    	return this.first + " " + this.last;
	}
};

관련글 더보기