개발이야기

[TIL]04. 자바스크립트 콜백함수, 클래스

무서운승태 2023. 10. 17. 17:58
728x90

자바스크립트 깊어질수록 어렵다. 

자바스크립트를 공부하기 전에 익히 듣기론 배우기 쉬운 언어라는 이야기를 들었다. 3주 차 강의를 들을 때 까진 이 말이 맞다고 생각했었다..

그러나 this, 동기, 비동기 Promise 등 다양한 내용이 나오니까 이해하기 힘든 부분이 많아졌다.오늘 글에서 이 내용을 다뤄야 하지만 

이해가 가지않는 부분이 많아서 추가적인 학습 후 글에서 다뤄야 할 거 같다.

 

  • 콜백 함수란?
    • 함수를 인자로 받는다
    • 함수를 리턴한다.
// 대표적인 콜백함수
setTimeout(function() {
	전달될 함수 내용
}, 1000);

[1, 2, 3, 4].forEach(() => { 함수 내용 });

콜백함수도 함수이므로 this를 사용할 시 전역 객체를 참조한다. 

 

 

  • 클래스
    • 클래스는 설계도와 같다
    • 객체를 만들 때 정해진 규격을 정할 수 있다.
    • 여러 개의 객체를 만들 때 용이하다.
  • 인스턴스
    • 클래스 만으론 아무것도 할 수 없다.
    • 클래스를 바탕으로 인스턴스를 생성해야 비로소 사용 가능하다.
    • 인스터는 스는 객체가 실체화된 것임
// class 선언법
// class의 이름 맨앞자리는 대문자로 사용한다
class Person {
	// 초기 생성시 최소한 필요한 값을 세팅할수 있다 => 생성자
	constructor (name, age) {
    	this.name = name;
        this.age = age;
    }
    
    sayHello () {
    	console.log(`${this.name} 입니다.`);
    }
}

// 인스턴스 생성하기
const person1 = new Person('홍길동', 20);

// class에서 선언되어있는 함수도 사용할수 있다.
person1.sayHello();