Page 27 -
P. 27

array란 배열의 첫 번째, 두 번째 요소와 네 번째 요소를 변수에 대입하는 코드입니다.

                    다음과 같이 바꿀 수 있습니다.

                      const array = ['nodejs', {}, 10, true];                                         2
                      const [node, obj, , bool] = array;


                    어색해 보이지만, 나름대로 규칙이 있습니다. node, obj, bool의 위치를 보면 node는 배열의 첫 번
                    째 요소, obj는 두 번째 요소, bool은 네 번째 요소라는 것을 알 수 있습니다. obj와 bool 사이의                    알아두어야 할 자바스크립트
                    요소인 10에는 변수명을 지어주지 않았으므로 10은 무시합니다.

                    구조분해 할당 문법도 코드 줄 수를 상당히 줄여주므로 유용합니다. 특히 노드는 모듈 시스템을
                    사용하므로 이러한 방식을 자주 씁니다. 모듈 시스템은 3.3절에서 자세히 알아보겠습니다.





                    2.1.6 클래스


                    클래스 문법도 추가되었습니다. 하지만 다른 언어처럼 클래스 기반으로 동작하는 것이 아니라 여
                    전히 프로토타입 기반으로 동작합니다. 프로토타입 기반 문법을 보기 좋게 클래스로 바꾼 것이라
                    고 이해하면 됩니다.

                    다음은 프로토타입 상속 예제 코드입니다.

                      var Human = function(type) {
                        this.type = type || 'human';
                      };

                      Human.isHuman = function(human) {
                        return human instanceof Human;
                      }

                      Human.prototype.breathe = function() {
                        alert('h-a-a-a-m');
                      };

                      var Zero = function(type, firstName, lastName) {
                        Human.apply(this, arguments);
                        this.firstName = firstName;
                        this.lastName = lastName;
                      };



                                                                                                  73





     node_06.indd   73                                                                      2020-07-14   오전 11:02:01
   22   23   24   25   26   27   28   29   30   31   32