본문 바로가기

반응형

JavaScript

(18)
[JavaScript 알고리즘] 정렬(Sorting) - 5. Quick Sort Quick Sort function quickSort(arr, left = 0, right = arr.length - 1) { if(left { [arr[idx1], arr[idx2]] = [arr[idx2], arr[idx1]]; }; // pivot이..
[JavaScript 알고리즘] 정렬(Sorting) - 4. Merge Sort Merge Sort function mergeSort(arr) { if(arr.length arr1[i]) { results.push(arr1[i]); i++; } else { results.push(arr2[j]) j++; } } while (i < arr.length) { results.push(arr1[i]) i++; } while(j < arr2.length) { results.push(arr2[j]) j++; } return results; }
함수 바인딩 코어자바스크립트를 필사한 것입니다. 사라진 this 객체 메서드를 콜백으로 전달할 때 this 정보가 사라지는 문제가 생긴다. 객체 메서드가 객체 내부가 아닌 다른 곳에 전달되어 호출되면 this가 사라진다. let user = { firstName: "John", sayHi() { alert(`Hello, ${this.firstName}!`); } }; setTimeout(user.sayHi, 1000); // Hello, undefined! this.firstName이 "John"이 되어야 하는데, 얼럿 창엔 undefined가 출력된다 이렇게 된 이유는 setTimeout에 객체에서 분리된 함수인 user.sayHi가 전달되기 때문이다. 위 예시의 마지막 줄은 다음 코드와 같다. let f = us..
[TIL] 2021.05.13 - class와 모듈 Facts 프로그래머스 과제형 테스트 문제풀이를 하였다. Findings 아니 이건 뭐지... 하고 한참 생각했다. 나는 분명 js 파일을 보고 있는데 class에 constructor에 내부 함수까지.. 마치 Java처럼 쓰이고 있는데 Java랑 완전히 똑같진 않아서 아니 이게 대체 뭐지...? 하고 심기불편인채로 계속 뜯어보았다. 이해가 되지 않았다. this.로 인스턴스의 field를 참조해야 하는데 현재 클래스의 field에는 없는 놈이 있었다. 접근제한자도 없다.. 뭐하자는 거지? console.log("app is running!"); class App { $target = null; data = []; constructor($target) { this.$target = $target; thi..
Document Document Document 인터페이스는 브라우저가 불러온 웹 페이지를 나타내며, 페이지 콘텐츠(DOM 트리)의 진입점 역할을 수행합니다. DOM 트리는 와 및 여러 다른 요소를 포함합니다. Document는 페이지의 URL을 얻거나 문서에 새로운 요소를 생성하는 등의 기능을 전역적으로 제공합니다. Document 인터페이스는 모든 종류의 문서에 대한 공통의 속성과 메서드를 묘사합니다. 문서의 유형(HTML, XML, SVG 등)에 따라서 더 다양한 API가 존재합니다. 메서드 Document.createAttribute() 새로운 Attr 객체를 생성하고 반환합니다. Document.createElement() 주어진 태그명을 사용해 새로운 요소를 생성합니다. Document.createEvent(..
Array.from() MDN Web Docs를 그대로 필사한 포스팅입니다. Array. from() 메서드는 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운 Array 객체를 만듭니다. console.log(Array.from('foo')); // expected output: Array ["f", "o", "o"] console.log(Array.from([1, 2, 3], x => x + x)); // expected output: Array [2, 4, 6] 구문 Array.from(arrayLike[, mapFn[, thisArg]]) 매개변수 arrayLike 배열로 변환하고자 하는 유사배열 객체나 반복 가능한 객체 mapFn [Optional..
맵과 셋 모던자바스크립트(ko.javascript.info/map-set)을 필사한 내용입니다. 맵 맵(Map)은 키가 있는 데이터를 저장한다는 점에서 객체와 유사합니다. 다만, 맵은 키에 다양한 자료형을 허용한다는 점에서 차이가 있습니다. 맵에는 다음과 같은 주요 메서드와 프로퍼티가 있습니다. new Map() - 맵을 만듭니다. map.set(key, value) - key를 이용해 value를 저장합니다. map.get(key) - key에 해당하는 값을 반환합니다. key가 존재하지 않으면 undefined를 반환합니다. map.has(key) - key가 존재하면 true, 존재하지 않으면 false를 반환합니다. map.delete(key) - key에 해당하는 값을 삭제합니다. map.clear() ..
Array.prototype.map() 아래 포스팅은 mdn 문서를 필사한 것입니다. Array.prototype.map() map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. const array1 = [1, 4, 9, 16]; // pass a function to map const map1 = array1.map(x => x * 2); console.log(map1); // expected output: Array [2, 8, 18, 32] 구문 arr.map(callback(currentValue[, index[, array]])[, thisArg]) 매개변수 callback 새로운 배열 엘리먼트를 생성하는 함수. 다음 세가지 인수를 가집니다. currentValue - ..

반응형