본문 바로가기

■ 프로그래밍/JavaScript

데이터 타입 (2) - 참조타입(Function, Array, Object)

자바스크립트 데이터 타입(Data Types)은 크게 원시타입(Primitive type)과 참조타입(Reference type), 2가지로 나뉜다.

 

참조타입(Reference type)

1. Function(함수)

- 한 번 만들어두면 재사용 가능하다.

// 함수 선언
function fun1() {
	console.log('Hi!');
}

// 함수 호출
func1();

- 함수에는 a. 전달된 값을 받아들이는 변수: 매개변수(Parameter)와 b. 어떤 함수를 호출시 전달되는 값: 인자(Argument)가 존재하며, 1개 이상의 매개변수와 인자 삽입이 가능하다.

function todayDate(date) { // date = 매개변수(parameter)
	console.log('오늘은 ' + date + '일입니다.');
}

todayDate(26); // 26 = 인자(argument)

- 함수를 저장하는 역할로는 return을 쓸 수 있다.

- 하나의 함수에는 무조건 하나의 return만 존재하며, return이 나오면 함수는 무조건 종료된다.

function todayDate(date) {
	return date + '일입니다.';
}

var date = todayDate(26);
console.log(date); // output: 26일입니다.

 

2. Array(배열)

- 배열의 데이터들은 같은 데이터타입을 유지한다.

- 따라서, 배열에 들어가는 데이터타입의 값과 성격이 같아야 오류가 나지 않는다.

// 배열(array) 생성
// [대괄호로 묶는다]
var drink = ['coffee', 'milktea', 'coke', 'water', 'juice'];

// 배열의 인덱스(index)로 값에 접근할 수 있다
// 인덱스의 0이 첫번째 값을 가져온다
console.log(drink[0]); // output: coffee
console.log(drink[1]); // output: milktea

- 배열 안에 배열을 생성할 수 있다

var scores = [
    [ 95, 100 ],
    [ 70, 75, 89 ],
    [ 34, 47, 61]
]

// 인덱스로 배열안의 배열에 접근하기
console.log(scores[1][0]); // output: 70, 1번째 인덱스([70, 75, 89])의 0번째 값(70)

 

3. Object(객체)

- 객체는 변수와 함수가 모여 있는 집합체이다. 

var person = {
	name: 'Jake',
	age: 22,
	favFood: ['pizza', 'coke', 'ddeokbboggi']
}
1. person이라는 변수안에 name, age, favFood라는 key(혹은 property) 생성했다.
2. 해당 key에 대응하는 값은 값(value)라 부른다. 

- 객체의 프로퍼티에 접근하는 방법은 2가지가 있다.

console.log(person.name); // 변수명.key
console.log(person['name']); // 변수명['key이름']

- 객체에 프로퍼티를 추가하는 방법

person.gender = 'male';

- 메소드(Method): 객체 안에 포함되어 있는 함수를 칭한다.

var person = {
	...
    scores: function(a, b, c){
		return a + b + c;
    }
};

var grade = person.scores(80, 95, 70);
- socres를 메소드라 부른다. 

 

참조타입은 다른 게시물에서 더 자세하게 다룰 예정이다.