본문 바로가기

코딩25

[javascript] Promise Promise프로미스란 비동기 처리에 사용되고 비동기 처리의 상태(성공, 실패 등)와 결과값을 반환하는 객체이다. 콜백 함수의 단점을 보완하기 위해 ES6에서 도입되었다. (프로미스는 함수에 콜백을 전달하는 대신 콜백이 첨부된 객체!) callback 함수콜백 함수는 다른 함수의 인자로 호출되는 함수를 통칭한다. 프로미스가 등장하기 이전 자바스크립트에서 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용하였다. 하지만, 콜백 함수를 사용하여 비동기 처리를 할 경우, 비동기 처리 중에 발생한 에러 처리가 곤란하였으며, 중첩된 비동기 처리를 위한 코드를 작성했을 때 콜백 지옥이 발생했다. 프로미스의 생성: 프로미스 생성자 함수로 프로미스 객체를 생성한다. 생성할 때 비동기 처리를 위한 콜백 함수를 인수로.. 2025. 12. 17.
[javascript] Error Error에러는 언제나 코드 곳곳에 도사리고 있다. 에러가 발생하지 않는 코드를 작성하는 것은 불가능하기에, 발생한 또는 발생할 에러에 대응하는 코드를 함께 작성해줘야 한다.console.log('시작');foo();// ReferenceError: foo is not defined// 강제 종료console.log('끝'); // 에러로 프로그램이 강제 종료되어 이 코드는 실행되지 않는다. 1. try catchtry ..catch (..finally) 문을 사용하여 프로그램이 강제 종료되지 않게 하고 코드를 실행시킬 수 있다.try { console.log('시작'); // 실행할 코드(에러 발생 여지가 있는 코드) //(1***1); // SyntaxError: Invalid or unexpect.. 2022. 10. 14.
[javascript] ES6 최신 문법 4 _ 구조 분해 할당 Destructuring assignment & 단축 평가 Short-circuit evaluation 구조 분해 할당 Destructuring assignment구조 분해 할당은 구조화된 배열과 같은 이터러블 또는 객체를 분해하여 1개 이상의 변수에 개별적으로 할당하는 것을 말한다. 배열 구조 분해 할당1) 우변은 반드시 이터러블이어야 한다. 할당의 기준이 인덱스가 되기 때문이다. 변수의 개수와 이터러블 요소의 개수가 가 일치할 필요는 없다.const arr = [1, 2, 3, 4];const [one, two, three] = arr;console.log(arr[0], arr[1], arr[2]); //1 2 3console.log(one, two, three); //1 2 3 2) 기본값을 넣어 사용할 수도 있다.const point = [1, 2];const [y, x, z = 0] = poi.. 2022. 10. 13.
[javascript] ES6 최신 문법 3 _ spread spread ...스프레드는 하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만드는 문법이다. 스프레드 문법을 사용할 수 있는 대상은 이터러블에 한정된다.let arr = [1, 2, 3, 4];console.log(...arr); //1 2 3 4let a = { ...arr };let b = [...arr];console.log(a); //{ '0': 1, '1': 2, '2': 3, '3': 4 }console.log(b); //[ 1, 2, 3, 4 ]let arr1 = [2, 3, 4];let arr2 = [5, 6, 7];let merged = arr1.concat(arr2); //ES5에서 배열 합치기const newMerged = [...arr1, ...ar.. 2022. 10. 12.
[javascript] ES6 최신 문법 2 _ Iteration protocol Iteration protocol이터레이션 프로토콜은 순회 가능한 데이터 컬렉션을 만들기 위한 규칙이다. ES6 이전의 순회 가능한 데이터 컬렉션(배열, 문자열, 유사 배열 객체, DOM 컬렉션 등)은 통일된 규칙 없이 for문, for in문, forEach 메서드 등으로 순회할 수 있었다.ES6에서는 순회 가능한 데이터 컬렉션을 이터레이션 프로토콜을 준수 하는 객체로 통일하여 for of문, 스프레드 문법, 배열 구조 분해 할당의 대상으로 사용할 수 있도록 일원화했다. 이터러블Iterable 프로토콜과 이터레이터Iterator 프로토콜Symbol.iterator(Well-known Symbol > 자바스크립트가 기본으로 제공하는 빌트인 심볼 값이다.)를 프로퍼티 키로 사용한 메서드를 직접 구현하거.. 2022. 10. 12.