JavaScript 5

비동기 처리 - Promise

비동기적 프로그래밍 비동기적 프로그래밍이 필요한 이유 자바스크립트는 싱글 스레드 Single Thread이다. 싱글 스레드일때는 멀디 스레드처럼 여러가지 일을 신경쓰지 않아도 되지만, 특정 코드의 연산이 끝날때까지 기다렸다가 다음 코드를 진행할 수 있다는 문제점을 가지고 있다. 비동기적 프로그래밍을 하면 이 문제를 해결 할 수 있다. console.log("A"); setTimeout(function() { console.log("B"); }, 3000); // 1000ms = 1 sec, 따라서 3초후 console.log("C"); 이 코드를 실행해 보면, A를 찍은 후 3초를 기다려서 B를 찍는것이 아니라 A -> C -> B의 순서로 콘솔에 찍히는걸 확인해 볼 수 있다. 프로미스의 개본 개념 프로..

JavaScript 2020.07.19

커스텀 이벤트

커스텀 이벤트 객체지향 프로그래밍에서 객체와 객체 사이의 관계를 느슨하게 연결하는 수단으로 사용됨 var event = new Event('build'); // 이벤트 리슨 elem.addEventListener('build', funtion(e) { /* */ }, false); // 이벤트 디스패치 elem.dispatch(event); Event 생성자는 Internet Explorer를 제외하고 대부분의 브라우서에서 지원됨. 옛날방식 하단의 내용은 Event생성자를 사용하지 않고 쓰는 방법이다. MDN에서 오래된 방법이라고 소개됨. var event = document.createEvent(type); // 1. 이벤트 생성 var event = document.createEvent('Event'..

JavaScript 2020.07.17

8.10 콜백함수

자바스크립트의 함수는 일급(fisrt-class)객체이다. 그렇다면 일급객체란 무엇인가? 1. 변수나 데이터 구조 안에 담을 수 있다. 2. 파라미터로 전달 할 수 있다. 3. 리턴 값으로 사용할 수 있다. 4. 할당에 사용된 이름과 관계없이 고유한 구별이 가능하다. 5. 동적으로 프로퍼티 할당이 가능하다. 위와 같은 5가지 조건을 만족하는 객체를 일급객체라고 한다. 함수를 값으로 다룰 수 있다 = 변수에 함수에 값을 담을 수 있다 var a = function() { ... }; 함수를 객체의 키 값으로 할당 할 수 있음. var movie = { name: '옥자', director: '봉준호', show: function() { console.log(this.name + ' ' + this.dire..

JavaScript 2020.07.16

객체 잠그기

수정할 수 없게 만드는 방법 확장가능 속성, 재정의 가능속성, 쓰기 가능 속성 객체의 확장가능(extensible) 9.7.2 확장방지: Object.preventExtensions 메서드 인수로 받은 객체는 더이상 확장 불가능. var person = { name: "Tom"}; Object.preventExtensions(person)' person.age = 17; console.log("age" in person); Object.isExtensible 메서드 사용 - 확장가능한지 확인 가능 9.7.3 밀봉: Object.seal 메서드 인수로 받은 객체를 밀봉. 프로퍼티 추가 금지, 기존의 모든 프로퍼티 재정의 불가 추가, 삭제, 수정 불가 / 읽기, 쓰기만 가능 9.7.4 동결: Object.f..

JavaScript 2020.03.19
728x90