async함수와 await 표현식의 간단 개념정리

async 함수 async 함수는 비동기로 실행되는 함수이다. 종전의 Promise API를 따르는 것에 비해 일반적인 동기 함수를 사용하는 것과 유사한 방법으로 비동기 로직을 처리할 수 있도록 한다. 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 // 1초 뒤 v를 값으로 Fulfilled 되는 Promise를 반환한다. const p = v => { return new Promise( resolve => {

지연로딩 데모

영상 CodePen 링크 지연로딩 데모 코드 js1 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 9

디바운싱과 쓰로틀링 (Debouncing and Throttling)

누르면 폭죽이 발사되는 버튼이 있다고 가정해보자. 폭죽 한 발을 쏘는데는 100만원의 비용이 든다. 폭죽이 워낙 화려한 폭죽이라 한 번 쏠때마다 값이 비싸기도 하고, 한 번 터지면 적어도 3초간은 하늘을 화려하게 불빛으로 수놓는다. 따라서 화려한 3초 동안에는 새로운 폭죽은 사족만이 될 뿐이다. 이벤트로 생각해보자 위 예에서 폭죽 발사 버튼을 누르는 것을 하나의 이벤트라고 생각해보자. 폭죽을 쏘는 비용은 해당 이벤트에 연결된 핸들러가 실행될 때 걸리는 연산량 혹은 메모리 사용량이 부하되는 정도라고 볼 수 있다. 디바운싱과 쓰

191103의 메모

자바스크립트의 동시성 동기 모델의 단점 * 다른 언어의 멀티 쓰레드를 이용하는 동기 모델의 경우 각 쓰레드별로 메모리를 점유하게 되고 context switching이 발생하게 되면서 메모리와 cpu에 대한 오버헤드가 발생한다. 콜백 * Just pass a function that will be called when the task is complete. 1 2 3 4 // file.txt의 읽기가 끝났을 때 읽어온 content를 인자로 미리 예약된 callback을 호출한다. readFile('file.txt', (

단락평가, 지름길 평가 (Short-circuit evaluation)

자바스크립트의 논리연산자를 기본 용도인 참/거짓의 판단을 위해 사용하는 것이 아닌, 조건문을 대체해 사용하는 일종의 문법 설탕 이라고 볼 수 있다. 기본원리 단락평가는 결국 조건연산자가 가진 아래의 두가지 특성을 응용한 것이다. 조건연산자의 좌결합성 and연산자(&&)와 or연산자(||) 모두 좌결합성을 가진다. 즉, 피연산자의 평가순서가 왼쪽부터 오른쪽 순으로 진행이 된다. 조건연산자의 평가결과 조건연산자는 Boolean 값을 반환하지 않는다. 최종적으로 평가된 피연산자의 평가결과를 반환한다. && - and and 연산자

객체를 복사하는 방법

객체를 복사하는 방법들에 대해 알아보도록 하겠습니다. 다양한 복사방법들을 알아보고, 얕은 복사와 깊은 복사의 차이점과 한계점 그리고 해결법에 대해 알아보도록 하겠습니다. 리터럴 표기법을 활용한 복사 리터럴 표기법은 객체를 생성하는 가장 일반적인 방법입니다. 쉼표로 구분된 키-값 쌍의 요소들을 중괄호로 감싸서 선언합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 const Dog = { name: "앵두", age: 2, sound: "멍멍", bark() { console.log(thi

객체를 봉인하는 방법

Object 내장 객체에는 객체를 다루기 위한 다양한 정적 메서드들이 포함되어 있습니다. 그 중에서도 앞서 설명한 속성 설명자와 연관성이 짙은 몇 가지 메서드들에 대해 알아보려고 합니다. 아래에 알아볼 메서드들은 모두 객체를 사용자가 임의로 확장하고 수정할 수 없도록 봉인하는 방법들을 제공하는 것들입니다. Object.preventExtensions 객체가 확장될 수 있다는 것은, 객체에 새로운 구성요소를 추가할 수 있음을 의미합니다. Object.preventExtensions([객체명]) 메서드를 사용할 경우 해당 객체는

속성 설명자 (PropertyDescriptor)

속성 설명자란 무엇인가 객체의 속성들은 그 자체로 객체 내부의 정보와 기능을 표현하지만, 각 속성들은 다시 그 자신들의 값과 성질에 대한 눈에 보이지않는 내부 속성들을 가지고 있습니다. 위에서 말한 속성의 성질이란 이 속성이 읽기전용인지, 나열될 수 있는지 등의 정보를 의미합니다. 자바스크립트에서는 이러한 속성의 세부적인 성질을 직접 설정하거나 조회할 수 있는 방법을 제공하는데, 이 때 이용되는 특수한 객체가 바로 속성 설명자(PropertyDescriptor) 입니다. 생김새 속성 설명자는 아래와 같이 약속된 구성대로 정형화

자바스크립트의 객체

객체란 무엇인가 객체는 키-값의 쌍을 각각의 구성요소로 가지는 자료형입니다. 객체는 자바스크립트에서 가장 중요한 자료형으로써, 현대 자바스크립트 코드의 빌딩 블록과도 같은 역할을 합니다. 숫자나 문자열 같은 원시 자료형을 제외하고는 자바스크립트에서는 대부분의 데이터가 객체 혹은 유사 객체의 형태로 표현됩니다. 객체지향 프로그래밍(Object Oriented Programming)이라는 프로그래밍 방법론에서는 객체를 보다 더 추상적인 개념으로 설명합니다만, 일단 자료형의 측면과 코드내에서 다루는 방법론에 대해 학습을 하고,
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×