190122 TIL iteration && scope

» 1막, TIL (Today I Learned)

iteration

오늘 강의에서는 iterable한 속성에 대해 배웠다.
토르코와 짝코딩으로 피보나치 구현함

image

// 1번
function makeFibonacci(n){
    let first = 0, second = 1, result;
    return () => {
        result = first + second;
        if (result > n) return null;
        first = second;
        second = result;
        return result;
    }
}

const fun = makeFibonacci(8);

// 2번
function makeFibonacci(n){
    let first = 0, second = 1, result, done = false;
    return {
        next(){
            if (done === true) return null;
            result = first + second;
            first = second;
            second = result; 
            if (result >= n) done = true;
            console.log({value: result, done: done});
            this.next();
        }
    }; 
}

const fun = makeFibonacci(1000);

generator, next 개념에 대해서 배웠는데, 뭔가 머리로는 대충 알겠는데 어떻게 활용해야할 지 잘 모르겠음.
외부에서 직접 loop를 제어할 수 있는 장점이 있다는데, 아직 잘 모르겠다~

Scope

오늘 js33 스터디 주제는 scope였다. 쉬운 주제라고 생각했는데, 역시 깊게 들어가보니 넘 어렵다~~
lexical scope에 대해서 열심히 공부했음.
발표자료

스코프 관점에서 클로저에 대해 설명해보라는 비센스 질문에 제대로 답 못했음 ㅠㅠ 더 공부해보기!