반응형
목표
OOP(Object Oriented Programming)에 필요한 기능 알아보기
'프로그래밍을 한다'는 말은
1. 데이터
2. 그 데이터를 처리하는 것
두 가지로 이뤄져 있다.
데이터를 잘 정리정돈하는 것으론 array, object가 있다.
또 다른 코드와 구분하기 위해 연관된 것을 그룹핑하기 위해서 함수를 사용했었다. 자바스크립트에서 함수는 처리해야 할 일에 대한 정보를 가지고 있는 일종의 구문(statement)이면서, 동시에 값이라고도 할 수 있다.
쉽게 생각해서, 우선은 함수를 변수에 넣을 수 있다면 값이라고 생각하자.
(ex)
var i = if(true){console.log(1);} //ERROR
자바스크립트에서는 조건문 구문이 값이 아니기 때문에 에러가 발생한다.
var w = while(true){console.log(1)}; //ERROR
while이라는 statement 또한 값이 될 수 없다.
그렇다면 function f1은 값이 될 수 있을까?
var f = function() {
console.log(1+1);
console.log(1+2);
}
console.log(f);
f();
자바스크립트에서는 function의 statement가 다른 statement와는 다르게 값이 될 수 있다. 즉, 처리방법들을 담고 있는 구문이면서 동시에 그것 자체가 값이 될 수가 있다.
(예제1)
var a = [f]; //[f]: 함수f가 담긴 배열
a[0](); //2 3
배열의 원소로서 함수가 존재할 수 있다.
(예제2)
var o = {
func: f
} //func: 객체의 속성(property)
o.func(); //2 3 //o.func() == f
객체의 속성에 대한 값으로 함수가 존재할 수 있다.
배열에 함수를 담는 경우는 드물지만, 객체는 이름이 있기 때문에 이름으로 함수를 꺼내는 용도로 자주 사용한다.
요약
자바스크립트에서 함수는 값이므로, 배열과 객체에 담을 수 있다.
반응형
'Back-End > Node.js' 카테고리의 다른 글
Node.js.43.App제작-템플릿 기능 정리정돈하기 (Refactoring) (0) | 2020.09.02 |
---|---|
Node.js.42.JavaScript-객체-데이터와 처리 방법을 담는 그릇으로서 객체 (0) | 2020.09.02 |
Node.js.40.JavaScript-객체-반복 (0) | 2020.09.02 |
Node.js.39.JavaScript 객체의 형식 (0) | 2020.09.02 |
Node.js.38.App 제작-글삭제 기능 완성 (0) | 2020.09.02 |