본문 바로가기
  • soldonii's devlog

자바스크립트110

자바스크립트의 객체 지향 프로그래밍 2 : 클래스(Class) 사용 *Udemy의 "Advanced Javascript Concepts"강의에서 학습한 내용을 정리한 포스팅입니다. *자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :) 1. 객체지향 프로그래밍의 마지막 단계 # OOP를 향한 마지막 5단계 : ES6 Classes class는 ES6에서 추가된 Syntactic Sugar로, 만들고자 하는 대상에 대한 청사진을 그려주는 역할을 한다. class Elf { constructor(name, weapon) { this.name = name; this.weapon = weapon; } attack() { return 'attack with ' + this.weapon; } } const pete.. 2019. 10. 20.
자바스크립트의 객체 지향 프로그래밍 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.
자바스크립트의 자료구조 5 : 트리(Trees) *Udemy의 "Master the Coding Interview : Data Structures + Algorithms" 강의에서 학습한 내용을 정리한 포스팅입니다. *자바스크립트를 배우는 단계라 오류가 있을 수 있습니다. 틀린 내용은 댓글로 말씀해주시면 수정하겠습니다. 감사합니다. :) 1. 트리(Trees)란? 트리는 우리가 아는 나무를 거꾸로 뒤집어 놓은 형태를 생각하면 쉽다. 가장 위는 뿌리인 Root, 그리고 아래로 가지를 치면서 뻗어 내려온다. 2. 바이너리 트리(Binary Trees) 바이너리 트리는 각 노드가 하나 혹은 2개의 자식 노드만을 가지고 있는 상태의 트리구조이다. 하나의 노드는 아래와 같은 코드가 된다. function BinaryTreeNode(value) { this.va.. 2019. 10. 8.
자바스크립트의 자료구조 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.