본문 바로가기
  • soldonii's devlog

udemy48

자바스크립트의 객체 지향 프로그래밍 1 *Udemy의 "Advanced Javascript Concepts"강의에서 학습한 내용을 정리한 포스팅입니다. *자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :) 1. 프로그래밍 패러다임? 객체지향 프로그래밍(OOP - Object Oriented Programming), 함수형 프로그래밍(FP - Functional Programming) 모두 프로그래밍 패러다임의 종류 중 하나이다. 프로그래밍 패러다임을 사용하는 목적은 아래와 같다. 1. Clear + Understandable 2. Easy to Extend 3. Easy to Maintain 4. Memory Efficient 5. DRY(Do not Repeat Yours.. 2019. 10. 19.
자바스크립트의 자료구조 4 : 스택(Stack), 큐(Queue) *Udemy의 "Master the Coding Interview : Data Structures + Algorithms" 강의에서 학습한 내용을 정리한 포스팅입니다. *자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :) 1. 스택(Stacks)과 큐(Queues)란? 스택과 큐 모두 Linear한 자료구조형이다. 이 둘은 아주 유사한 자료구조이지만, element가 제거되는 방식에 차이가 있다. - 스택 : 스택은 흔히 아는 자바스크립트 엔진에서의 콜 스택이 제거되는 방식과 동일하다. 마지막으로 삽입된 element가 가장 먼저 제거되는 방식을 취한다. LIFO(Last In, First Out)인 것이다. 따라서 스택은 브라우저 히.. 2019. 10. 8.
자바스크립트의 자료구조 3 : 연결 리스트(Linked List) *Udemy의 "Master the Coding Interview : Data Structures + Algorithms" 강의에서 학습한 내용을 정리한 포스팅입니다. *자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :) 1. 연결 리스트(Linked List)란? Linked List는 1) value와 2) pointer가 한 쌍인 노드가 모여있는 자료구조형을 의미한다. 위 사진에서 푸른색 부분은 data를 저장하고 있고, 초록색 부분은 다음 노드를 가리키는 pointer 역할을 하는 address 부분이다. Linked List에서 가장 앞 쪽 시작부분(위 사진에서는 10을 가지고 있는 노드)을 Head, 가장 마지막 부분(40을.. 2019. 10. 8.
자바스크립트의 자료구조 2 : 해쉬 테이블(Hash Table) *Udemy의 "Master the Coding Interview : Data Structures + Algorithms" 강의에서 학습한 내용을 정리한 포스팅입니다. *자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :) 1. 해쉬 테이블(Hash Table)? 앞선 글에서 배열에 대해서 살펴보았다면 이번에는 객체에 대해서 살펴보자. 객체는 Hash Table이라는 자료구조의 종류 중 하나이다. Hash Table은 Key와 Value가 쌍을 이룬 형태로 데이터가 저장되어 있는 자료구조형을 지칭한다. 사실 배열 내 데이터도 Key와 Value로 이루어져 있기는 하나, 배열에서는 Key가 오직 index, 즉 숫자만 가능한 것에 비해 H.. 2019. 10. 8.
자바스크립트의 자료구조 1 : 배열(Array) *Udemy의 "Master the Coding Interview : Data Structures + Algorithms" 강의에서 학습한 내용을 정리한 포스팅입니다. *자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :) 1. 자료구조 - 배열 배열은 대부분의 프로그래밍 언어에서, 가장 간단하고 가장 많이 쓰이는 자료구조형이다. 배열의 경우 자료들이 메모리 주소(선반)에 순서대로 차곡차곡 정렬되어 있기 때문에, 특정 데이터를 순차적으로 iterate해야 하는 경우 배열은 최상의 자료구조형이다. (참고로 알고리즘 문제 또는 면접에서 string은 배열로 간주해서 풀어도 무방하다.) const strings = ['a', 'b', 'c',.. 2019. 9. 26.
자바스크립트에서 클로저란? 프로토타입 상속이란? *Udemy의 "Advanced Javascript Concepts"강의에서 학습한 내용을 정리한 포스팅입니다. *자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :) 1. 클로저(Closure) 자바스크립트에는 클로저라는 독특한 개념이 존재한다. 클로저는 '함수'와 '렉시컬 환경' 두가지 개념의 혼합물이다. function a() { let grandpa = 'grandpa'; return function b() { let father = 'father'; return function c() { let son = 'son'; return `${grandpa} > ${father} > ${son}`; } } } a(); // [Funct.. 2019. 9. 10.
자바스크립트의 데이터 타입 *Udemy의 "Advanced Javascript Concepts"강의에서 학습한 내용을 정리한 포스팅입니다. *자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :) 1. 자바스크립트의 데이터 타입 자바스크립트의 데이터 타입은 총 7개이다. number, booleans, strings, undefined, null, Symbol, object이다. # undefined vs. null - undefined : abscence of definition, 정의가 되지 않은 것, 즉 어떠한 값이 할당되지 않은 것이다. - null : abscence of value, 값은 정의가 되어 있지만, 해당 값이 비어있는 값인 경우이다. # 배열과.. 2019. 9. 9.
자바스크립트의 함수 호출 : call, apply, bind *Udemy의 "Advanced Javascript Concepts"강의에서 학습한 내용을 정리한 포스팅입니다. *자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :) 1. .call(), .apply(), .bind() this를 자유자재로 조작하기 위해서는 .call(), .apply(), .bind() 메소드의 사용법에 익숙해져야 한다. # .call() function a() { console.log('hi'); } a.call(); .call()과 .apply()는 모두 첫번째 인자로 실행할 대상 함수의 this 값을 대체할 다른 객체를 받는다. const wizard = { name: "Merlin", health: 100, .. 2019. 9. 7.
자바스크립트에서 this는 도대체 무엇일까? *Udemy의 "Advanced Javascript Concepts"강의에서 학습한 내용을 정리한 포스팅입니다. *자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :) 1. This? 아주 많이 보게 되지만, 볼 때마다 헷갈리는 this. 도대체 this가 뭘까? THIS is the object that the function is a property of. this는 위 설명대로, 현재 사용하려는 함수를 프로퍼티로 가지고 있는 객체를 가리킨다. function a() { console.log(this) } a(); // Window {.........} 함수 a는 글로벌 실행 컨텍스트 내에서 선언된 후, 실행되고 있다. 함수 a는 글.. 2019. 8. 30.