[JS] 함수 표현식으로도 사용자 정의 객체 생성이 가능할까?

·2024년 3월 6일

Javascript

목록 보기
7/17

1) 일반적인 함수 표현식으로는 생성 가능!
2) 화살표 함수 표현식으로는 생성 불가능! -> 화살표 함수는 this 의미가 다르기 때문

2-1) 화살표 함수 내부에서 this : 객체 자기 자신 X, 자신 외부의 값

    var price = 120;

    let laptop = {
        price: 250,
        printInfo: () => {
            console.log(this.price);
        }
    }
    laptop.printInfo();

2-2) 함수 내부에서 파라미터로 또 다른 함수 : 콜백 함수의 this
1. 익명함수 표현 -> this : window(가장 바깥쪽)
2. 화살표 함수 표현 -> this : 자기 자신의 바로 위쪽 외부

let classList;

    classList = {
        name: "dev-1",
        students: ['창민', '지혜', '혜진', '승우', '형종', '희권'],

        // dev-1 : 창민, dev-1 : 지혜, ....
        printInfo() {
            classList.students.forEach(
                (student) => {
                    console.log(`${this.name} : ${student}`);
                }
            );
        }
    }

    classList.printInfo();
profile
풀스택 호소인

0개의 댓글