ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ES6 + 기초 3
    코-드 스피츠/es6 2019. 1. 24. 21:11



    https://www.youtube.com/watch?v=GhAkc00TvZs&index=4&list=PLBA53uNlbf-tKPtxR85LmXFYk0pNF8-Og 발췌



    흐름제어 속 반복 구문


    Interface in JS


    1. 인터페이스란 사양에 맞는 값과 연결된 속성키의 세트

    2. 어떤 object라도 인터페이스의 정의를 충족시킬 수 있다.

    3. 하나의 object는 여러 개의 인터페이스를 충족시킬 수 있다. 


    자스 내의 고유명사. 


    <2:30 >



    const iterator = {

    data: [1,2,3,4],

    next () {

    return {

    done: this.data.length === 0,

    value: this.data.pop()

    }

    }

    }




    <24:27>


    iterable interface


    itrator interface를 모두 외우고 있다는 가정하에 진행한다. Iterator interface를 구현한게 iterator object이다. 


    Iterable Interface는 Iterator object를 반환한다. 

    Iterator object next함수를 갖고 있다. 

    next함수는 IteratorResultObject를 반환한다(IteratorResultObject는 value와 done이라는 키가 있다)


    const iterator = {

    data: [1,2,3,4],

    next () {

    return {

    done: this.data.length === 0,

    value: this.data.pop()

    }

    }

    } // 얘들이 iterator object


    const iterable = {
        [Symbol.iterator]() {

    return iterator;

    // ES6에서는 key(여기서는 [Symoble.iterator])가 오고 ()가 오면 key: function과 똑같은 효과이다.

       // object methods literal이라고 부른다.

    }       // iterable interface의 key가 iterator다. 

       // 이 메소드가 반환하는 것이 iterator (object)이기 때문이다. 



    // Symbol은 ES6에 새롭게 생긴 primitive type이다.

    // primitive type은 메모리에 복사가 일어나는 data type이다.

    // 모든 Symbol은 unique값이다. 

    // 마치 a = 1 과 b = 1이 서로 다른 값인것처럼.                             

    // 따라서 이러한 Symbol을 object의 key이름으로 사용하려면

    // 계산된 object 이름이란 새로운 문법을 써야한다. 

    // Symbol을 []로 감싸면 된다. 

    // const a = Symbol() 이란 방식으로 만든다. new 안쓴다. 

    // Symbol.iterator는 원래부터 내장하고 있는 Symbol이다.

    // well knowned symbol이라고 한다. 

    // 이 well knowned symbol은 '@@~~'로 대체 가능하다.

    // [Symbol.iterator] => '@@iterator'


    <31:56>












    '코-드 스피츠 > es6' 카테고리의 다른 글

    ES6 + 기초 2  (0) 2019.01.22
    ES6 + 기초 1  (0) 2019.01.21
Designed by Tistory.