자바스크립트

Promise 기본 1. promise 객체 생성 let promise = new Promise(function (resolve, reject) { // new Promise에 전달되는 함수 : executor(실행자, 실행함수) }); resolve(value): 일이 성공적으로 끝난 경우 그 결과를 나타내는 value와 함께 호출 reject(error): 에러 발생 시 에러 객체를 나타내는 error와 함께 호출 executor는 resolve나 reject 중 하나를 반드시 호출해야 한다. 2. 위의 pormise 객체의 내부 프로퍼티 살펴보기 state : 처음엔 "pending" / resolve가 호출되면 "fulfilled" / reject가 호출되면 "rejected" 로 변한다. res..
시간 복잡성이란? 계산의 복잡성, 계산이 복잡해지는 만큼 처리하는 스텝의 개수가 늘어나므로 실행 시간이 오래 걸린다는 뜻이다. 스텝 : CPU가 실행하는 명령 O 표기법 알고리즘의 계산량이 얼마나 될지 대략적으로 표현한 지표. 구체적인 실행 시간이나 명령의 개수는 알려주지 않는다. 같은 프로그램을 실행해도 컴퓨터의 처리 성능에 따라 실행 시간이 달라지기 때문에, 입력된 데이터 n의 크기에 따라 시간 계산량이 어느 정도의 비율로 늘어나는지를 O(n 식)의 형태로 표현하는 것이다. O(n) : 입력한 데이터의 크기(개수나 자릿수 등)을 n이라고 했을 때 알고리즘을 최대 n번 실행하면 처리가 완료된다는 뜻이다.(반드시 n번만에 완료된다는 것이 아니라 알고리즘의 최대 실행 횟수가 n번이라는 뜻이다.) 1. O ..
퀵 정렬(Quick Sort)이란? 데이터의 범위를 반으로 나눈 다음, 그 범위를 다시 반으로 나누어 정렬하는 처리를 반복한다. 퀵 정렬 살펴보기 우선 피봇(기준 값)을 정한다. 피봇으로 정할 데이터는 어떤 데이터든 상관없다. 정렬한 데이터의 크기가 피봇보다 큰 그룹과 작은 그룹으로 분할한다. 나눈 그룹 안에서도 똑같이 피붓을 정한 후 위와 같은 방식으로 분할한다. 이처럼 분할을 반복해 정렬하는 알고리즘을 분할 정복 알고리즘이라고 한다 계산량 확인해보기 퀵 정렬은 피봇을 기준으로 한 데이터의 크기에 따라 전체 데이터를 균형 있게 절반씩 분할해 나가며, 그 결과로 log₂n단 만들어진다. 오더는 O(nlogn)이다. 하지만 데이터를 나열한 순서가 좋지 않으면 효율이 나빠지고, 최악의 경우에는 오더가 O(n..
▶ constructor 객체(인스턴스)를 생성하고 클래스 필드를 초기화하기 위한 특수한 메소드 ※ 클래스 필드 : 자바스크립트의 생성자 함수에서 this에 추가한 프로퍼티 예문 12345678910111213// 클래스 선언문class Person { // constructor(생성자). 이름을 바꿀 수 없다. constructor(name) { // this는 클래스가 생성할 인스턴스를 가리킨다. // _name은 클래스 필드이다. this._name = name; }} // 인스턴스 생성const me = new Person('Lee');console.log(me); // Person {_name: "Lee"}cs 클래스는 constructor라는 이름을 가진 특별한 메서드를 하나씩만 가질 수 있습..
map( ) 함수를 호출한 결과를 모아 새로운 배열을 반환합니다.함수를 각각의 요소에 대해 한번씩 순서대로 불러 그 함수의 반환값으로 새로운 배열을 만듭니다. 구문 arr.map(callback(currentValue[, index[, array]])[, thisArg]) callback함수는 currentValue, index, array 3가지 인수를 갖습니다.- currentValue : 배열 내 처리할 현재 값- index : 배열 내 처리할 현재 값의 인덱스- array : map( )을 호출한 배열 예시 const array = [1, 2, 3, 4, 5]; const result = array.map(function(current, index, array){ console.log(curren..
지식냠냠
'자바스크립트' 태그의 글 목록