본문 바로가기

JavaScript34

[javascript] 프로토타입으로 생긴 특징들.. (prototype based programming) 나중에 이해해두어야겠다.... 일단 자료는 퍼왔다. 자바스크립트는 일단 이 개념부터 이해할 수 있어야 편할 것 같다. 각종 생기는 effect가 이때문에 생기는 경우가 많다. 프로토타입 기반 프로그래밍은 객체지향 프로그래밍의 한 형태의 갈래로 클래스가 없고, 클래스 기반 언어에서 상속을 사용하는 것과는 다르게, 객체를 원형(프로토타입)으로 하여 복제의 과정을 통하여 객체의 동작 방식을 다시 사용할 수 있다. 프로토타입기반 프로그래밍은 클래스리스(class-less), 프로토타입 지향(prototype-oriented) 혹은 인스턴스 기반(instance-based) 프로그래밍이라고도 한다. 프로토타입 기반 언어의 가장 원조격인 프로그래밍 언어인 셀프는 데이비드 엉거와 랜덜 스미스가 개발했다. 클래스리스 .. 2021. 4. 9.
[javascript] class 문법 - super() 정의 아래 내용을 잘 읽으면 알 수 있다. super() 문법은 상위 클래스를 참조할 수 있게 하는 것이다. 여기서 this에 대한 궁금증도 생길 수 있는데, this는 작성하는 동안 구조의 맥락에 맞추어져서 상위 개체나, 생성자, 소속된 것에 대해 인스턴스화하는 구문이다. this를 통해 instance화 하고, 클래스의 구조를 엮어서 사용하는 것이다. (완전 정확하지는 않을 것 같다. javascript는 prototype언어이기 때문에 좀 더 정확히 알아볼 필요가 있다. 현재 나의 이해가 여기까지 닿을 뿐이다.) class Polygon { constructor(height, width) { this.name = 'Polygon'; this.height = height; this.width = width.. 2021. 4. 7.
[Dev] CallBack 콜백함수 콜백함수란 이름 그대로 나중에 호출되는 함수를 말한다. 콜백함수라고 해서 그 자체로 특별한 선언이나 문법적 특징을 가지고 있지는 않다. 콜백함수도 일반적인 자바스크립트 함수일 뿐이다. 예를 들어, 이벤트 핸들러 같은 것을 콜백함수라고 할 수 있다. CallBack을 활용한 비동기적 프로그래밍 이 부분이 가장 큰 장점이다. 그리고 사실, 이 부분 때문에 사용하는 것이다. 1. 사용자 이벤트 처리 2. 네트워크 응답 처리 - A 응답이 있을 때, 그 다음 처리를 해야할 함수가 있을 때 사용된다. 3. 파일을 읽고 쓰는 등의 파일 시스템 작업 4. 의도적으로 시간 지연을 사용하는 기능 (알람 등) 대표적으로, setTimeout, setInterval, clearInterval 함수 같은 것이 있다. 출처 :.. 2021. 3. 29.
[For] 반복문 기초 (forEach/ ) forEach forEach는 가장 기본적인 Loop 메소드이다. 구동방식은 array의 map 함수와 같다. 배열을 순차적으로 i[0] ~ i[length - 1] 까지 확인하는 것이 가능하다. 작동 방식이 완전히 동일하다. // for 구문 버전 - 쓰지말자 const arr = [3, 9, 4, 2, 7, 6]; for (let i = 0; i { if (n % 2 == 0) { console.log(n); } }); 출처 https://b.. 2021. 3. 25.
[Array] 비구조화 구문 할당 (기본문법 / 추가문법 / 주의사항) 기본 문법 [a1, a2, ...rest_a] = [1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(a1); // 1 console.log(a2); // 2 console.log(rest_a); // [3, 4, 5, 6, 7, 8, 9] 좌항이 호출될 변수명 집합, 우항이 할당될 값이다. 좌항의 각 요소에는 같은 index가 아니라 value가 할당된다. 또한 전개 연산자( ... )를 사용하여 좌항에서 명시적으로 할당되지 않은 나머지 배열 값들을 사용할 수 있습니다. 나머지 값들은 배열로 ...rest_a 부분에 할당된다. 객체의 경우도 동일하다. 배열 대신 객체로 rest_a 부분에 할당된다. 추가 문법 우항의 key값에 변수명으로 사용 불가능한 문자열이 있을경우 아래와 같은.. 2021. 3. 22.
[Array] 배열 다루기 (Concat/ Join/ Filter/ Find/ Map&forEach, Reduce, Slice) 스스로 배열에 대한 기본학습이 부족한 듯 하여, 추가적인 학습을 하고 기록을 시작함. 2021.03.18 1. concat const items = [1,2]; // output [1,2] const newItems = items.concat(3,[4],[[5]]); // output [1,2,3,4,[5]] concat 요약 사용시기 새 배열에 Element 추가 원본 조작 여부 X Return O 특징 parameter 1번 분해 주의사항 배열을 추가하려면, [[element]] 형태로 감싸야 함. Concat은 원본을 조작하지 않는다. Return 있음. 입력되는 parameter를 1번 분해한다. (*코드에서 [4] item이 배열이 아니라, element로 저장되는 것을 보면 알 수 있다. 2... 2021. 3. 18.