전체 글100 You don't know JS yet(2장 2.1~2.2) Chapter 1 스코프시작 전에 내가 궁금했던 건 보라색으로 칠하고 밑에 답을 달았다.js엔진이 어떻게 변수를 조직하고 관리하는지 자세히 알지 못한채로 코드를 작성한다.그래서 우리가 알아야 할 것은주어진 구문에서 접근 가능한 변수를 js엔진이 어떻게 결정하는지?이름이 같은 두 변수가 있을 때 어떻게 처리하는지?이 두가지를 잘 알아야하는데 이 질문들의 답은 스코프에 있다.(2.2장에서 다룰거임)1.1 책에 대하여2부에선 스코프 시스템 , 클로저 , 모듈 디자인 패턴의 강력함에 대해 알아본다.js는 컴파일 언어인지 인터프리터 언어인지는 ECMA에 정의된 바가 없고스크립트 언어로 분류된다**.**그런데 실제 JS는 실행 전 별도의 단계에서 파싱 , 컴파일이 일어난다.js에서 함수는 일급값(first-clas.. 2025. 2. 27. 4.1 ~ 4.4 자료구조 자료구조 : 이름 그대로 어떠한 구조로 데이터를 다룰지 학습하는 과목이다.알고리즘 : 어떠한 목적을 이루기 위해 필요한 일련의 연산 절차시간복잡도와 공간복잡도시간 복잡도 - 입력의 크기에 따른 프로그램 실행 시간의 관계공간복잡도 - 입력의 크기에 따른 프로그램 실행 공간의 관계 (메모리)여기서 사용하는 표기법이 Big O임.Big O란 무엇인가성능판단 척도 , 점근적 상한을 표기하는 방법점근적 : 어떤 값이나 상태에 점점 가까워지지만 완전히 도달하진 못한다.상한 : 넘을 수 없는 한계실행 시간이 대략 이 이상(상한)은 커지지 않을 것.Ex)O(1) : 시간이 상수값보다 오래 걸리지 않을 것O(n) : 시간이 n값에 따라 걸릴 것O(n^2) : 시간이 n의 제곱만큼 걸릴 것등등 표로 나타내면 이렇다.시간복.. 2025. 2. 26. 08.해시 해시 함수를 사용해서 변환한 값을 인덱스로 삼아 키와 값을 저장⇒ 빠른 데이터 탐색을 제공하는 자료구조다.사실, JS에서 **객체(Object)**나 Map을 사용해서 키-값 쌍을 저장하는 방식을 해시테이블이라 부른다.해시 구조는 이렇게 4가지임키(Key): 저장하고 싶은 데이터의 식별자해시함수(Hash Function): 키를 입력받아 해시 인덱스를 계산해주는 함수해시 인덱스(Hash Index): 해시함수가 계산해낸 고정된 범위의 인덱스값(Value): 실제 저장하고 싶은 데이터해시함수란? ⇒ 임의의 크기의 데이터를 입력받아 고정된 크기의 해시 값으로 변환해주는 함수해시함수는 마치 현장에서 자재 하나하나에 고유 번호를 붙여서 관리하는 것과 비슷하다. 키 → 해시 함수를 통해 계산 → 해시 인덱스 → .. 2025. 2. 25. 07. 큐 ‘줄을 서다’라는 뜻 (FIFO)이런 큐의 특징을 선입선출 또는 FIFO라고 한다.스택과 마찬가지로 큐도 삽입하는 연산을 푸쉬(Push), 꺼내는 연산을 팝(Pop)이라 한다.큐를 사용하는 곳.작업 대기열 : 네트워크 통신 할 때 서버에 작업 요청하면 서버는 들어온 순서대로 작업을 처리이벤트 처리 : 어떤 application & 시스템에서 사용자의 이벤트 (키보드 입력 , 마우스 움직임)큐의 ADT(추상구문트리)enqueue: 큐의 뒤쪽(리어)에 데이터를 추가하는 연산.dequeue: 큐의 앞쪽(프론트)에서 데이터를 제거하고 반환하는 연산.isEmpty: 큐가 비어있는지 확인하는 연산.isFull: 정적 배열 기반의 큐 구현 시 큐가 가득 찼는지 확인하는 연산.front : 앞에 데이터가 있는 위치re.. 2025. 2. 25. 06. 스택 06-1 스택 개념먼저 입력한 데이터를 제일 나중에 꺼낼 수 있는 자료구조LIFO (Last in, First Out)자료구조란? - 자료를 잘 저장하고, 효율적으로 꺼내 쓸 수 있도록 정리해둔 설계도스택의 어원은 ‘쌓는다’5번이 들어오면 5번부터 나온다.push : 스택에 삽입하는 연산pop : 스택을 꺼내는 연산06-2 스택의 정의ADT(abstract data type) - 추상자료형자료형의 설계도인터페이스만 알고 실제로 구현되지 않은 자료형내부 구현은 감추고, 사용자가 "어떤 기능을 수행할 수 있는지"만 알도록 설계된 자료형🔹 ADT의 핵심 특징데이터와 연산을 추상적으로 정의 (구현 방식은 감춰짐)인터페이스만 제공하고 내부 구조는 비공개구현 방식과 상관없이 동일한 동작을 제공해야 함🔹 대표적인.. 2025. 2. 25. You don't know JS yet(1장 4) 4.1 첫번째 기둥 : 스코프와 클로저함수나 블록 단위로 변수의 스코프(유효 범위)를 한정 짓는 것은 모든 프로그래밍 언어의 근본적인 특징이다.스코프는 양동이 , 변수는 넣을 구슬 스코프 : 변수와 함수가 유효한 범위즉 , “어떤 변수나 함수에 어디서 접근할 수 있냐?” 하는 범위스코프 모델이 뭔데?자바스크립트에서 스코프(Scope) 는 변수에 접근할 수 있는 유효 범위를 의미함. 스코프 모델은 크게 렉시컬(정적) 스코프와 다이나믹(동적) 스코프로 나뉘는데, 자바스크립트는 렉시컬 스코프(Lexical Scope) 를 따름.1. 렉시컬 스코프(Lexical Scope, 정적 스코프)렉시컬(Lexical) - “문법적” | 코드를 작성할 때 결정된다는 의미스코프 - 범위 (결계)"변수를 찾을 때, 함수가 선.. 2025. 2. 20. 이전 1 2 3 4 ··· 17 다음