33jsconcepts24 JS33 - 30.상속, 다형성, 코드의 재사용성 클래스 상속 JS는 프로토타입과 프로토타입 체인 개념을 사용해 상속한다. Non JS Classical Inheritance non-JS의 클래스 상속은 보통 클래스를 확장할 때 부모 클래스와 자식 클래스가 별도의 엔티티 인 동작을 부모 클래스에서 자식으로 복사한다. 클래스에서 인스턴스 또는 객체를 만들 때 두 가지 동작의 또 다른 복사본이 발생하며 둘 다 별도의 Entity다. 자식 클래스가 상속된 이후엔 사본이기 때문에 연결되어 있지 않고, 따라서 둘은 별도의 개체다. 속성 및 동작이 아래로 흐른다. JS Prototypal Inheritance (Behavior delegation pattern) 상속된 객체는 __proto__로 연결되어 있다.(new키워드로 생성됨!) JavaScript에서 객체.. 2021. 11. 9. JS33 - 29.알고리즘 알고리즘을 마스터하기 위해선 데이터 구조에 대한 명확한 이해가 필요하다. 일반적으로 고려해야 할 사항 필요한 변수 반복 횟수, 종류 사용가능한 빌트인 메서드 고려해야 할 에지 케이스 헬퍼 함수를 추출하거나 추상화할 수 있는가? 확장성이 있는가? input 크기가 커지면 어떻게 실행되는가? 캐싱 메커니즘이 필요한가? 성능 향상과 메모리 최적화 코드 리팩터링과 재사용 기회가 있는 코드를 작성하기 커링을 통한 파라미터 제거 정렬 알고리즘 버블소트 const bubbleSort = array => { let swapped; do { swapped = false; array.forEach((number, index) => { if (number > array[index + 1]) { [array[index], a.. 2021. 11. 9. JS33 - 27.자료구조 Object와 Array 원시 타입 6종류(Boolean, Null, Undefined, Number, String, Symbol) 이외의 데이터 타입 array도 object도 둘 다 object // arrays []; // objects { } Object 식별자 (Identifier)로 참조할 수 있는, 메모리에 있는 값 속성(Property)을 담고 있는 가방(Collection) 중괄호는 개체를 나타내며 개체의 요소가 개체를 구성합니다. 객체 값은 키 : 값 쌍으로 제공되며 이러한 값은 객체의 속성 또는 방법 (함수) 일 수 있습니다. 속성은 객체의 특징 또는 속성 인 반면, 방법은 객체에서 수행할 수 있는 기능 또는 동작입니다. // simple way to create a string co.. 2021. 10. 27. JS33 - 26.Async/Await Async/Await async function 함수명() { await 비동기_처리_메서드_명(); } async와 await는 자바스크립트의 비동기 처리 패턴 중 가장 최근에 나온 문법 (ES2017 ES8 ) 내부적으론 비동기 작업을 수행하면서, 표면적으론 완전히 동기식 코드를 작성할 수 있도록 도와준다. 기존의 비동기 처리 방식인 콜백 함수와 프로미스의 단점을 보완하고 개발자가 읽기 좋은 코드를 작성할 수 있다. 일반적으로 자바스크립트의 비동기 처리 코드는 아래와 같이 콜백을 사용해야 코드의 실행 순서를 보장받을 수 있다. 함수 앞에 async가 붙으면 항상 promise를 리턴한다. 다른 값들은 자동적으로 resolve된 promise로 감싸진다. // 미적용 function logName() .. 2021. 10. 27. JS33 - 25.프로미스(Promise) 프로미스 Promise Promise - JavaScript | MDN Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다. developer.mozilla.org var promise = new Promise(function(resolve, reject) { // do a thing, possibly async, then… if (/* everything turned out fine */) { resolve("Stuff worked!"); } else { reject(Error("It broke")); } }); Promise 는 자바스크립트 비동기 처리에 사용되는 객체 콜백을 함수에 전달하는 대신 콜백을 첨부하는 객체가 리턴되는 것이다. 보다 동기적인 방식으로.. 2021. 6. 24. JS33 - 24.컬렉션과 생성기(Collection and Constructor) 컬렉션 Collection JavaScript Collections Collections 프로그래밍 언어에서 Collection 이란 단어는 '프로그래밍 언어가 제공하는 값을 담을 수 있는 컨테이너' 라고 생각합니다. 메이저 프로그래밍 언어에는 여러가지 데이터 컬렉션들이 존재 velog.io 프로그래밍 언어가 제공하는 값을 담을 수 있는 컨테이너 Python - list, tuple, dictionaries … Java - ArrayList, HashMap, HashSet, Queue, Stack … Ruby - hashes, arrays Javascript(기존 Arrays + Objects, 이후 ES6에서 새로 추가) Indexed Collection - Arrays, Typed Array Keye.. 2021. 6. 23. 이전 1 2 3 4 다음