일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 개발 환경 구축
- 비동기 프로그래밍
- 제너레이터
- 이터러블
- REACT
- 코어JS
- async
- await
- Ref로 DOM 다루기
- Deep Dive
- 디스트럭처링 할당
- ES6 함수의 추가 기능
- DEEPDIVE
- 배열
- 프로미스
- Strict Mode
- 데이터 타입
- 싸피
- 표현식과 문
- Ref로 값 참조하기
- 모듈
- 브라우저의 렌더링 과정
- Set과 Map
- 에러 처리
- js
- BETA
- Escape Hatches
- rest api
- 스프레드 문법
- 클로저
- Today
- Total
목록JavaScript (50)
코딩을 쉽게 해보자
1. 일급 객체 일급 객체란 무명의 리터럴로 생성 O, 즉, 런타임에 생성이 가능 O 변수나 자료구조에 저장 O 함수의 매개변수에 전달 O 함수의 반환값으로 사용 O // 1 // 2 변수 저장 // 런타임(할당 단계)에 함수 리터럴이 평가되어 함수 객체가 생성되고 변수에 할당된다. const increase = function (num) { return ++num; }; const decrease = function (num) { return --num; }; // 2 객체 저장 const predicates = { increase, decrease }; // 3 // 4 function makeCounter(predicate) { let num = 0; return function() { num = ..
객체는 객체 리터럴 이외에도 다양한 방법으로 생성할 수 있다. 생성자 함수를 사용하여 객체를 생성하는 방식을 살펴보자. 1. Object 생성자 함수 new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. 프로퍼티 메서드를 추가하여 객체를 완성할 수 있다. const person = new Object(); person.name = 'Lee'; person.sayHello = function () { console.log('Hi! My Name is ' + this.name); }; console.log(person) / { name: "Lee", sayHello: f } person.sayHello(); / Hi! My name is Lee 생성자 함수(construc..
1. 내부 슬롯과 내부 메서드 프로퍼티 어트리뷰트를 이해하기 위해 내부 슬롯(internal slot)과 내부 메서드(internal method)의 개념에 대해 알아보자. 내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 EMCAScript 사양에서 사용하는 의사 프로퍼티(pseudo property)와 의사 메서드(pseudo method)다. EMCAScript 사양에 등장하는 이중 대괄호 ([[...]])로 감싼 이름들이 내부 슬롯과 내부 메서드다. 내부 슬롯과 내부 메서드는 자바스크립트 엔진의 내부 로직이므로 원칙적으로 JS는 내부 슬롯과 내부 메서드에 직접적으로 접근 / 호출 방법 제공 X 단, 일부 내부 슬롯과 내부 메서드에 한하여 간접적 접근 수단 제공 예를 들어..
1. var 키워드로 선언한 변수의 문제점 ES5까지 변수를 선언할 수 있는 유일한 방법은 var 키워드를 사용하는 것 1-1. 변수 중복 선언 허용 var 키워드로 선언한 변수는 중복 선언이 가능하다. 초기화 문이 없는 변수 선언문은 무시된다. 1-2. 함수 레벨 스코프 함수의 코드 블록만을 지역 스코프로 인정한다. var 키워드로 선언한 변수는 코드 블록 내에서 선언해도 모두 전역 변수가 된다. for 문의 변수 선언문에서 var 키워드로 선언한 변수도 전역 변수가 된다. 1-3. 변수 호이스팅 // 이 시점에는 변수 호이스팅에 의해 이미 foo 변수가 선언되었다(1. 선언단계) // 변수 foo는 undefined로 초기화된다(2. 초기화 단계) console.log(foo) // undefined..