javascript 내부함수에서 함수외부에 정의된 가려진 변수접근하기

Untitled-1


lee 가 출력되려면 subFunc에서 myFunc의 first_name에 어떻게 접근해야 하나요?`

내부 first_name 이 찍히죠. lee를 출력하려면 내부 변수를 삭제 하세요

subFunc내부에서 같은 이름의 외부변수를 가리는 경우 외부변수를 참조하는 방법이 있나해서요…

strict 모드를 사용하지 않을 경우는 this를 통해서 다음과 같이 해결할 수 있긴하겠네요.

function myFunc() {
    this.first_name = "lee";
    const subFunc = () => {
        let first_name;
        console.log(this.first_name);
    }
    subFunc();
}
myFunc();

strict을 사용하지 않을 경우는 내부 변수를 삭제하거나 변수명을 바꾸는 게 좋아보입니다…

가리는데 보일리가 ㅎㅎㅎ