JavaScript

    [Javascript] Closure

    함수를 선언할 때 만들어진 scope가 사라진 후에도 호출할 수 있는 함수 scope가 끝난 외부 함수의 변수를 참조할 수 있다. → 어떤 함수 A에서 선언한 변수 a를 참조하는 내부함수 B를 외부로 전달할 경우, A의 실행 컨텍스트가 종료된 이후에도 변수 a가 사라지지 않는 현상 클로저(closure)란, 외부 함수에 접근할 수 있는 내부 함수 혹은 이러한 원리를 일컫는 용어인데 스코프에 따라서 내부함수의 범위에서는 외부 함수 범위에 있는 변수에 접근이 가능하지만 그 반대는 실현이 불가능하다는 개념이다. 특징으로는 외부함수는 외부함수의 지역변수를 사용하는 내부함수가 소멸될 때까지 소멸되지 않는다.예를 들어 한 함수안에 다른 함수가 있다면 그 안의 함수는 바깥에 정의해놓은 변수를 사용할 수 있지만 그 반..

    [JavaScript] 이진 탐색(Binary Search) 알고리즘

    "이진 탐색 알고리즘의 이해와 적용" 1. 이진탐색이란? 데이터가 정렬되어 있는 배열에서 특정한 값을 찾는 알고리즘. ㄴ _본 게시글의 예시의 경우 오름차순으로 되어 있는 데이터를 사용 배열의 있는 임의의 중간 값을 선택하여 찾고자 하는 값 X 와 비교한다. X 가 중간 값보다 작으면 좌측 데이터를 대상으로, X 가 중간 값보다 크면 우측 데이터를 대상으로 다시 탐색한다. X 값을 찾을 때까지 동일한 방법을 반복한다. _(up-down 숫자맞추기 게임과 유사) Database Index 적용의 장단점 장점 - Full Table Scan에 비해 데이터 검색 속도 및 성능이 향상된다. 단점 - 탐색을 위한 정렬된 테이블이 추가되기 때문에 메모리를 사용한다. - DB가 수정될 때마다 인덱스의 업데이트가 필요..

    [Javascript] Math 함수 정리

    Math is a built-in object that has properties and methods for mathematical constants and functions. It’s not a function object. -> Math 객체는 수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 자바스크립트 표준 내장 객체이다. -> 생성자가 존재하지 않아서 따로 인스턴스를 생성하지 않더라도 Math 객체의 모든 method나 property를 바로 사용할 수 있다. 자주 사용하는 함수 정리 Math.min(x,y,z....) 가장 작은 값 반환 Math.max(x,y,z....) 가장 큰 값 반환 Math.random() 0보다 크거나 같고 1보다 작은 무작위 숫자 반환 Math.round(..

    [Javascript] Array 함수 훈련

    알고리즘 문제를 풀며 array 함수의 중요성을 다시 깨달았다... 앞으로 많이 사용할 것으로 예상되니,, 머릿속에 깊게 새길 수 있도록.. 반복된 훈련을 통해 익히자. 아래는 array를 훈련하며 사용된 문제와 함수이다. 실제로는 더 복잡하게 사용되지만 우선 어떤 함수들이 있으며 어떻게 사용되는지 간단 명료하게 정리하였다. // Q1. make a string out of an array { const fruits = ["apple", "banana", "orange"]; const join = fruits.join(","); console.log(join); } // Q2. make an array out of a string { const fruits = "🍎, 🥝, 🍌, 🍒"; const resu..