전체 글 527

고차함수

Achievement Goals 일급 객체(first-class citizen)의 세 가지 특징을 설명할 수 있다. 고차 함수(higher-order function)에 대해 설명할 수 있다. 고차 함수를 자바스크립트로 작성할 수 있다. 특별한 대우를 받는 함수 자바스크립트에서 함수는 아래와 같이 특별하게 취급됩니다. 변수에 할당(assignment) 할 수 있다. 다른 함수의 인자(argument)로 전달될 수 있다. 다른 함수의 결과로서 리턴될 수 있다. 고차 함수란 고차 함수(higher order function)는 함수를 인자(argument)로 받을 수 있고, 함수의 형태로 리턴할 수 있는 함수입니다. 그리고 함수는, 함수를 담은 변수를 인자로 전달받을 수 있습니다. 마찬가지로, 함수 내부에서..

자료구조(그래프)

Undirected Graph 와 Directed Graph (Digraph) Undirected Graph: 정점과 간선의 연결관계에 있어서 방향성이 없는 그래프 Directed Graph: 간선에 방향성이 포함되어 있는 그래프 Directed Graph (Digraph), Undirected Graph V = {1, 2, 3, 4, 5, 6} E = {(1, 4), (2,1), (3, 4), (3, 4), (5, 6)} (u, v) = vertex u에서 vertex v로 가는 edge Degree Undirected Graph 에서 각 정점(Vertex)에 연결된 간선(Edge) 의 개수를 Degree 라 한다. Directed Graph 에서는 간선에 방향성이 존재하기 때문에 Degree 가 두 ..

자료구조 2021.09.11

DOM

Achievement Goals DOM을 JavaScript로 조작하여 HTML Element를 추가하거나 삭제, 혹은 내용을 변경할 수 있다. createElement - CREATE querySelector, querySelectorAll - READ textContent, id, classList, setAttribute - UPDATE remove, removeChild, innerHTML = "" , textContent = "" - DELETE appendChild - APPEND innerHTML과 textContent의 차이 DOM 구조를 조회하고 싶을때 console.dir console.dir 은 console.log 와 달리 DOM을 객체의 모습으로 출력합니다. document 객체의..

Spread/Rest 문법

Achievement Goals Spread/Rest 문법, 구조 분해 할당을 사용할 수 있다. Spread 문법 주로 배열을 풀어서 인자로 전달하거나, 배열을 풀어서 각각의 요소로 넣을 때에 사용합니다. function sum(x, y, z) { return x + y + z; } const numbers = [1, 2, 3]; sum(...numbers) Rest 문법 파라미터를 배열의 형태로 받아서 사용할 수 있습니다. 파라미터 개수가 가변적일 때 유용합니다. function sum(...theArgs) { return theArgs.reduce((previous, current) => { return previous + current; }); } sum(1,2,3) // 질문: 어떤 값을 리턴하나..

클로저

Achievement Goals 클로저 함수의 정의와 특징에 대해서 이해할 수 있다 클로저가 갖는 스코프 범위를 이해할 수 있다 클로저를 이용해 유용하게 쓰이는 몇 가지 코딩 패턴을 이해할 수 있다 클로저 함수의 특징(1) 화살표 함수를 이용한 간단한 덧셈 함수 const add = (x, y) => x + y; add(5, 7); 이 함수를 조금 다른 방식으로 구현해봅시다. 아래와 같이 화살표를 두 번 사용합니다. 앞서 본 코드와는 다르게, 함수의 호출(invocation) 이 두 번 발생합니다. 함수의 호출(invocation)이 두 번 발생 const adder = x => y => x + y; adder(5)(7); const adder = x => y => x + y; adder(5)(7);//..

스코프

Achievement Goals 스코프의 의미와 적용 범위를 이해할 수 있다 스코프의 주요 규칙을 이해할 수 있다 중첩 규칙 block scope와 function scope 전역 스코프와 지역 스코프 전역 변수와 지역 변수간의 우선 순위 let, const, var 의 차이 전역 객체(window)의 이해 스코프의 정의와 규칙 변수 접근 규칙에 따른 유효 범위 -> 안쪽 스코프에서 바깥쪽 스코프로는 접근할 수 있지만 반대는 불가 let name = '애플콕'; function showName() { let name = '코카콜라'; // 지역 변수 console.log(name); // 두번째 출력 } console.log(name); // 첫번째 출력 showName(); console.log(nam..

원시 자료형(primitive)vs참조 자료형(referense)

Achievement Goals 원시 자료형과 참조 자료형 원시 자료형(primitive type)과 참조 자료형(reference type)의 구분이 왜 필요한지에 대해서 영상을 보고 이해할 수 있다. 원시 자료형과 참조 자료형의 차이를 이해하고, 각자 맞는 상황에서 사용할 수 있다. 원시 자료형이 할당될 때에는 변수에 값(value) 자체가 담기고, 참조 자료형이 할당될 때는 보관함의 주소(reference)가 담긴다는 개념을 코드로 설명할 수 있다. 참조 자료형은 기존에 고정된 크기의 보관함이 아니라, 동적으로 크기가 변하는 특별한 보관함을 사용한다는 것을 이해할 수 있다. let a;로 변수를 선언하면 사물함의 이름표에 a를 붙이는것과 같다. 그 후 변수에 1을 할당하면 사물함에 1을 넣어주는 겁..

자료구조(스택, 트리)

Stack 선형 자료구조의 일종으로 Last In First Out (LIFO). 즉, 나중에 들어간 원소가 먼저 나온다. 이것은 Stack 의 가장 큰 특징이다. 차곡차곡 쌓이는 구조로 먼저 Stack 에 들어가게 된 원소는 맨 바닥에 깔리게 된다. 그렇기 때문에 늦게 들어간 녀석들은 그 위에 쌓이게 되고 호출 시 가장 위에 있는 녀석이 호출되는 구조이다. 스택 추상 자료형 객체: 후입선출(LIFO)의 접근 방법을 유지하는 요소들의 모음 더보기 push(x): 주어진 요소 x를 스택의 맨 위에 추가한다. pop(): 스택이 비어있지 않으면 맨 위에 있는 요소를 삭제하고 반환한다. isEmpty(): 스택이 비어있으면 참(true)을 아니면 거짓(false)을 반환한다. peek(): 스택이 비어있지 않..

자료구조 2021.09.05