본문 바로가기

JS11

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.
You don't know JS yet(3-1) 이터레이션 3.1 이터레이션일단 이 개념은 ES6부터 도입 되었다.단어 의미 분석 실제 의미이터러블 (Iterable)Iter(반복) + able(가능)반복할 수 있는 객체 (for문에서 사용 가능)이터레이터 (Iterator)Iter(반복) + or(~하는 것/사람)반복을 수행하는 객체 (next()로 값 꺼내는 역할)이터레이션 (Iteration)Iter(반복) + ation(행위, 과정)반복하는 과정 자체 (for문 실행 과정)💡 즉,이터러블(Iterable) = 반복 가능한 객체이터레이터(Iterator) = 반복을 수행하는 객체이터레이션(Iteration) = 반복 하는 행위, 과정1.이터러블(Iterable) : 반복할 수 있는 객체“반복할 수 있는 객체” , 즉 for...of 문에서 사용할 수 있는.. 2025. 2. 13.
04.코딩테스트 필수 문법 04.1 빌트인 데이터 타입자바스크립트의 빌트인 데이터 타입은 언어 자체에서 제공하는게 두가지다.원시 타입 (primitive type)참조 타입 (reference type)04.2 참조타입🔹 원시 타입 vs 참조 타입JS의 데이터 타입은 크게 두 가지로 나뉨:원시 타입 (Primitive Type)값 자체를 메모리에 저장함.변수에 값을 직접 할당함.number, string, boolean, undefined, null, symbol, bigint참조 타입 (Reference Type)메모리 주소를 저장하고, 실제 데이터는 **Heap(힙 메모리)**에 저장됨.변수가 값을 직접 저장하는 게 아니라, **메모리 주소(참조값)**를 저장함.object, array, function, date, map,.. 2025. 2. 11.
You don't know JS yet(2) 2.1 파일은 프로그램입니다.JS에서는 파일 각각이 별도의 프로그램이다.독립적은 .js 파일 여러개를 하나의 프로그램으로서 작동시키는 유일한 방법은전역스코프를 사용해 파일 간 상태를 공유하고 공통으로 사용하는 기능을 접근할 수 있도록 만드는 방법 뿐이다.전역 스코프 (Global Scope)코드 어디서든 접근 가능한 변수 및 함수가 정의되는 범위.var는 window(브라우저)나 global(Node.js)에 등록되지만, let과 const는 해당 블록 스코프JS는 각 모듈을 별도로 처리한다.파일 하나를 제3의 작고 독립적은 프로그램(파일)과 협력해 전체를 작동시키는 고유한 작은 프로그램이다.2.2 값JS에서 값은 크게 원시타입, 객체타입으로 분류 된다.원시 타입 (Primitive Type)값 자체를 .. 2025. 2. 6.
You don't know JS yet(1.5~1.8) 1.5 하위 호환성과 상위 호환성JS를 지탱하는 기본 원칙 중 하나는 하위 호환성 보장이다.그런데 많은 개발자들이 하위호환성을 잘 모르고 상위호환성 개념과 혼동하기도 한다. 1. 하위호환성(Backward Compatibility)정의: 새로운 버전의 시스템이나 소프트웨어가 이전 버전과 호환되는 능력.특징:기존 코드나 기능이 새로운 환경에서도 문제 없이 작동함.사용자 입장에서 업데이트 시 추가 작업이 거의 없음.예시: JS는 과거에 작성된 코드가 최신 브라우저에서도 작동하도록 설계됨.2. 상위호환성(Forward Compatibility)정의: 현재 버전의 시스템이나 소프트웨어가 미래의 버전과 호환되는 능력.특징:미래의 기능이나 표준을 대비해 설계됨.보통은 제한적이며, 완벽한 구현이 어려움.예시: 새로운.. 2025. 1. 23.
Node.js 교과서 PART2 (1) 호출 스택"누가 먼저 실행될까?"자바스크립트는 프링글스통과 같다.먼저 쌓인게 나중에 나간다.LIFO(Last in First Out) , 후입선출이라고 부른다. anonymous는 뭐야?anonymous는 **이름이 없는 함수(익명 함수)**를 호출할 때 호출 스택에 표시되는 기본 이름이다.브라우저나 Node.js가 코드의 시작점을 관리하기 위해 사용하는 기본 값이다.우리가 함수를 선언하면서 이름을 주지 않거나, 함수 표현식으로 함수를 만들어 사용하면 생긴다.즉 우리가 무언가를 실행하면 가장 밑에 깔리고 프로그램이 다 실행되고 annoymous까지 끝나야 실행이 끝난 것이다.  var,conmst,let var는 js의 적폐다. 적폐의 특성을 알아보자. 가장 큰 차이점 : 블록 스코프 (var는 함수 .. 2025. 1. 19.