[TIL - 2022.7.12 Javascript Koans] ~Array

Jeong Ha Seung·2022년 7월 12일
0

부트캠프

목록 보기
15/51

이때까지 부트캠프 하면서 아 이건 자신있어! 하는 부분이었는데 오늘 보니까 아니었다...

뭔가 다시 복습할 수 있는 차원에서 하는거라 좋았다.

헷갈렸던 부분 정리

  • 02_Types-part1

자바스크립트..하.. 왜 123-'1'이 122가 나오는 건지 모르겠다.

진짜다...

  • 04_Scope
  it("lexical scope와 closure에 대해 다시 확인합니다.", function () {
    let age = 27;
    let name = "jin";
    let height = 179;

    function outerFn() {
      let age = 24;
      name = "jimin";
      let height = 178;

      function innerFn() {
        age = 26;
        let name = "suga";
        return height;
      }

      innerFn();

      expect(age).to.equal(26);
      expect(name).to.equal("jimin");

      return innerFn;
    }

    const innerF = outerFn(); //innerFn에서 innerF로 바꿔줘도 문제없이 작동했다.

    expect(age).to.equal(27);
    expect(name).to.equal("jimin");
    expect(innerF()).to.equal(178);
  });

이 문제는 페어하고도 같이 고민했던 문젠데
expect(innerF()).to.equal(178); 이 부분에서 특히 헷갈렸다.

innerF()이 결국 outerFn()() 이런식으로 될 거 같다고 생각해서(2번 호출)

outerFn 내의 height는 178이 될것이고 outerFn이 innerFn을 호출하면서 height를 린턴해줬기 때문에 178이 나온 것이라고 생각했는데 맞는지는 모르겠다..

profile
블로그 이전했습니다. https://nextjs-blog-haseungdev.vercel.app/

0개의 댓글