일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Ref로 값 참조하기
- 코어JS
- 비동기 프로그래밍
- 프로미스
- 싸피
- Strict Mode
- 모듈
- 배열
- Escape Hatches
- rest api
- Set과 Map
- await
- 브라우저의 렌더링 과정
- 에러 처리
- REACT
- Ref로 DOM 다루기
- async
- 디스트럭처링 할당
- 개발 환경 구축
- DEEPDIVE
- 스프레드 문법
- 표현식과 문
- ES6 함수의 추가 기능
- Deep Dive
- BETA
- js
- 데이터 타입
- 이터러블
- 클로저
- 제너레이터
- Today
- Total
목록전체 글 (59)
코딩을 쉽게 해보자
1. strict mode란? function foo() { x = 10; } foo(); console.log(x); // ? x 변수를 찾아야 x에 값을 할당할 수 있기에 JS 엔진은 먼저 foo 함수의 스코프에서 x 변수의 선언을 검색 => 실패 foo 함수 컨텍스트의 상위 스코프(위 예제에서는 전역 스코프)에서 x 변수의 선언을 검색 JS 엔진은 암묵적으로 전역 객체에 x 프로퍼티를 동적 생성 이때 전역 객체의 x 프로퍼티는 마치 전역 변수처럼 사용 가능 이러한 현상을 암묵적 전역(implict global)이라 한다. => 오류를 발생시키는 원인이 될 가능성이 크다.(var, let, const 키워드를 사용해야함) ES5부터 strict mode(엄격 모드)가 추가되었다. strict mode..
자바스크립트는 명령형, 함수형. 프로토타입 기반, 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어다. 클래스 ES6에서 도입 클래스도 함수이며, 기존 프로토타입 기반 패턴의 Syntactic sugar이라고 볼 수 있다. 클래스와 생성자 함수는 모두 프로토타입 기반의 인스턴스를 생성하지만 정확히 동일하게 동작 X 생성자 함수보다 엄격하게 동작 생성자 함수에서는 제공하지 않는 기능도 제공 새로운 객체 생성 메커니즘으로 보는 것이 좀 더 합당하다고 할 수 있다. 1. 객체지향 프로그래밍 객체의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임을 말한다. 추상화 다양한 속성 중에서 프로그램에 필요한 속성만 간추려 내어 표현하는 것 객체지향 프로그래밍은 객체의 상태(state)를 나타내는 데이터와 ..
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..