본문 바로가기

2018/09/016

[양재동코드랩] 자바스크립트 강의 1일차 - Object ObjectObject.is()오브젝트의 비교가 목적이 아니라 값의 비교가 목적임== : 타입은 비교하지 않고 값만 비교 (사용 권장하지 않음)=== : 값과 값 타입 모두 비교Object.is()와 === 차이+0 === -0은 true지만 Object.is()는 false사람 입장에서는 같다고 생각할 수 있지만 기계적으로는 틀림음/양 표현을 하는 비트 플래그 값이 다름NaN === NaN은 false, Object.is()는 true=== 비교로는 문제가 있음NaN도 값인데 ===로 비교 시 false라는 것은 잘못됨Object.assign()첫번째 인자의 오브젝트에 두번째 인자를 복사String의 경우 분할되어 배열 형식으로 들어감프로퍼티 디스크립터는 복사하지 않음오브젝트에 오브젝트를 할당하기 위한.. 2018. 9. 1.
[양재동코드랩] 자바스크립트 강의 1일차 - for of for-of이터러블 오브젝트 반복Symbol.iterable이 존재해야 가능예제for(const value of [10, 20, 30]) { console.log(value); }NodeList 엘리먼트를 하나씩 반복하여 전개예제const nodes = document.querySelectorAll("li"); for(const node of nodes) { console.log(node.textContent); }Node는 자바스크립트 영역이 아닌 DOM 영역자바스크립트는 웹을 표현하기 위한 각 요소들(HTML, CSS, DOM 등)을 통합해서 처리할 수 있는 아키텍처를 가지고 있음for-in과 for-of의 차이For-in : 오브젝트에서 열거 가능한 프로퍼티가 대상For-of : 이터러블 오브젝트가.. 2018. 9. 1.
[양재동코드랩] 자바스크립트 강의 1일차 - Operator operatordestructuringDestructuring Assignment코드 형태let one, two, three; [one, two, three] = [1, 2, 3];// array 분할 할당분할 할당의 개념중첩된 array라도 형태만 맞추면 변수에 값 할당 됨[one, two, [three, four]] = [1, 2, [3, 4]]변수할당이 필요 없는 경우 콤마로 구분해서 pass 가능[one, , , four] = [1,2,3,4]오브젝트 분할const {one, two} = {one: 10, two: 20}같은 프로퍼티명을 사용할 경우 ES5에서는 에러, ES6에서는 마지막 값으로 대체파라미터 분할total({one: 1, two: 2}) function total({one, two.. 2018. 9. 1.
[양재동코드랩] 자바스크립트 강의 1일차 - Iteration, Spread, Rest Iteration반복을 의미반복하기 위한 프로토콜 필요프로토콜은 규약을 의미반복을 처리하기 위한 함수를 가지고 있는 오브젝트여야 함구성iterable 프로토콜Iterator 프로토콜빌트인 오브젝트는 기본적으로 이터러블 프로토콜을 가지고 있기 때문에 반복 가능String, Array, TypedArray, Map, SetArguments, DOM NodeList이터러블 오브젝트는 빌트인 오브젝트 외에 이터러블 프로토콜이 설정된 오브젝트를 의미이터러블 오브젝트 조건Symbol.iterator()가 있어야 함실제로 반복을 수행하는 메소드Array를 상속받으면 이터러블 오브젝트가 됨개발자 코드로 이터러블 프로토콜 정의 가능iterator protocoliterator의 next 메소드를 통해 값 순회반환 값은 .. 2018. 9. 1.