본문 바로가기

javascript28

OOP OOP (Object Oriented Programming) 객체 지향 언어 현실 세계를 반영 추상화를 통해 구체화 함 클래스가 원형으로 오브젝트를 구현 클래스에서 파생된 오브젝트는 독립적 ex) 자동차 클래스 : 자동차 틀 오브젝트 : 자동차 들 장점. 유지보수가 용이, 설계시간 단축 단점. 설계 시 용량이 커질 수 있으며 느려짐 Java, C++, C#, Python, PHP, Ruby, Object-C (클래스 기반 언어) JavaScript (프로토타입 기반 언어) - ECMAScript 6에서 새롭게 클래스가 도입 JavsScript OOP의 특성 1. 캡슐화 데이터와 절차를 모아 캡슐에 담는 것 외부에서 접근 불가, 함수를 통해서만 조작이 가능 2. 추상화 공통의 속성이나 기능을 묶어 이름을 .. 2020. 7. 29.
Data Structure - Stack & Queue Stack stack은 쌓여있는 접시더미와 같다 새로운 접시가 쌓일 때도 맨 위에서 쌓임 접시를 가져갈 때도 맨 위에서 가져감 LIFO (Last In First Out) FILO (First In Last Out) Stack method push(element) : 요소를 스택의 최상단에 추가 pop() : 스택의 최상단에 요소를 제거하고 반환 peek() : top의 값 empty() : 스택이 비어있는지 확인 size() : 스택의 현재 요소 개수를 반환 Queue Queue는 줄서는 것을 연상한다 사람들이 온 순서대로 줄을 서며 먼저 온 사람이 먼저 나간다 FIFO (First In First Out) Queue method enqueue(element) : 요소를 큐의 뒤에 추가 dequeue(.. 2020. 7. 23.
arrow function 화살표 함수 표현(arrow function) function 표현에 비해 구문이 짧고 자신의 this, arguments, super, new.target을 바인딩 하지 않음 화살표 함수는 항상 익명 메소드 함수가 아닌 곳에 가장 적합 생성자로서 사용할 수 없음 화살표 함수 적용 전 (파라미터가 하나 일 경우) let fruits = [ 'apple', 'banana', 'grape', 'orange' ]; fruits.map(function(fruit) { console.log(fruit.length) return fruit.length; }); 화살표 함수 적용 후 ㅋ let fruits = [ 'apple', 'banana', 'grape', 'orange' ]; fruits.map(fruit =.. 2020. 7. 22.
this & bind (복습) this 함수를 선언하고 this를 넣고 비교 함수 실행 시 호출 방법에 의해 결정되는 특별한 객체 함수 실행 시 결정되므로, 실행되는 맥락에 따라 this가 결정 bind 묶다, 연결하다 함수를 호출한 것을 연결 .bind는 .call과 유사하게 this 및 인자를 바인딩하나, 당장 실행하는 것이 아닌 바인딩된 함수를 리턴하는 함수 첫번째 인자는 this, 두번째 인자부터는 필요한 파라미터를 전달 this는 다섯가지 바인딩 패턴이 존재 Global window 콘솔에서 this를 조회할 때 출력되는 값 (흔히 사용되지 않음) Function 호출 window Function 호출시 this를 사용할 이유는 없음 (흔히 사용되지 않음) Method 호출 부모 객체 (실행 시점에 온점 왼쪽에 있는 객체) .. 2020. 7. 22.