본문 바로가기

FRONT-END/JavaScript6

01. 데이터 타입 (코어 자바스크립트) 책을 읽은지는 꽤 지났지만, 다시한번 복습 겸 기록을 남겨보려고 합니다. 책을 읽고 요약해 정리한 내용의 전문은 제 개인 노션에 정리해놓았습니다. 데이터 타입데이터 타입의 종류자바스크립트 데이터 타입의 종류는 기본형(Primitive Type)과 참조형(Reference Type)으로 나뉜다.기본형에는 number, string, boolean, null, undefined, Symbol이 있고,참조형에는 object(array, function, Date, RegExp, Map, WeakMap, Set, WeakSet)이 있다.데이터를 할당하거나 연산 시 기본형과 참조형 모두 복제를 한다.기본형은 값이 담긴 주솟값을 바로 복제하고, 참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제한.. 2024. 9. 16.
JavaScript - var, let, const, 전역 변수 아래 내용은 모던 자바스크립트 Deep Dive 14챕터 전역 변수의 문제점과 15챕터 let, const 키워드와 블록 레벨 스코프를 읽고 정리한 내용입니다. Keyword 1. var 키워드로 선언한 변수의 문제점 1. 변수의 중복 선언이 허용된다. 같은 스코프 내 중복 선언이 허용된다. 초기화 문이 있는 변수 선언문은 자바스크립트 엔진에 의해 var 키워드가 없는 것처럼 동작하고, 초기화 문이 없는 변수 선언문은 무시된다. 2. 함수 레벨 스코프를 사용한다. 함수의 코드 블록만을 지역 스코프로 인정한다. 함수 외부에서 var 키워드로 선언한 변수는 코드 블록내에서 선언해도 모두 전역 변수가 된다. 3. 변수 호이스팅 변수 선언문 이전에 참조가 가능해, 코드의 가독성을 떨어뜨리고 오류를 발생시킬 여지.. 2022. 10. 6.
Javascript - 메모리, 식별자, 변수, 변수 호이스팅 아래 내용은 모던 자바스크립트 Deep Dive 4챕터 변수를 읽고 정리한 내용입니다. 10 + 20 위 식을 해결하기 위해서 - 10, 20, +의 의미를 알고 해석(파싱) 할 수 있어야 함 - 10, 20이라는 정보를 기억해야함 - 연산된 결과 값 30도 어딘가에 활용하기 위해서도 정보를 저장해 재사용해야 함 컴퓨터에서 연산은 CPU가 정보 저장은 메모리가 함 자바스크립트에서는 메모리 공간에 직접 접근할 수 있는 메모리 제어를 허용하지 않음 만약 되더라도 메모리 주소는 코드 실행 시 메모리 상황에 따라 임의 결정되어 변경됨 Keyword 1. 메모리 데이터를 저장할 수 있는 셀(1byte, 8bit)의 집합 컴퓨터는 1byte 단위로 데이터를 읽고 저장함 셀은 고유의 메모리 주소(메모리 공간의 위치).. 2022. 10. 5.
[JavaScript] REST API와 JSON Server REST API REST(Representational State Transfer)는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처이고, REST API는 REST를 기반으로 서비스 API를 구현한 것을 의미한다. REST API의 구성 - 자원(Resource) : HTTP URI - 행위(Verb) : HTTP 요청 메소드 - 표현(Representaitions) : HTTP 페이로드 REST API 설계 방침 - URI는 리소스를 표현해야 한다. (명사) - 리소스에 대한 행위는 HTTP 요청 메소드로 표현한다. (GET, POST, PUT, PATCH, DELETE는 URI에 미표현) JSON Server JSON Server는 json 파일을 사용하여 REST .. 2020. 5. 26.
[JavaScript] Ajax Ajax란? 데이터를 교환하고 서버로부터 수신한 데이터를 기반으로 웹페이지를 동적으로 갱신하는 프로그래밍 방식을 의미한다. Web API인 XMLHttpRequest 객체를 기반으로 동작한다. XMLHttpRequest는 서버와 브라우저 간의 비동기적 데이터 통신을 가능케하는 여러 메소드와 프로퍼티를 메소드를 제공한다. 이 방식이 나오기 전가지 웹페이지는 서버로부터 완전한 HTML을 전송 받아 웹페이지 전체를 처음부터 다시 렌더링하는 방식으로 동작했다. 따라서 화면이 전환되면 서버로부터 새로운 HTML을 전송 받아 웹 페이지 전체를 처음부터 다시 렌더링 하였다. 하지만 이러한 방식은 단점이 존재했다. 1. 변경이 없는 부분까지 포함된 HTML을 서버로부터 매번 다시 전송 받기 때문에 불필요한 데이터 통신.. 2020. 5. 26.
[JavaScript] 비동기 프로그래밍 동기식 처리 모델과 비동기식 처리 모델 - 함수 호출 시 함수의 실행 컨텍스트 생성 - 해당 실행 컨텍스트는 실행 컨텍스트 스택에 푸시되고 함수 코드가 실행됨 - 함수 코드의 실행 종료 시 함수의 실행 컨텍스트는 실행 컨텍스트 스택에서 POP되어 제거 함수가 실행되려면 반드시 실행 컨텍스트 스택에 PUSH되어야 함 (즉, 실행 컨텍스트 스택에 PUSH되는 것은 함수의 실행을 의미) 함수가 호출된 순서대로 순차적으로 실행되는 이유는 함수가 호출된 순서대로 실행 컨텍스트 스택에 PUSH 되기 때문이다. 이처럼 함수의 실행순서는 실행 컨텍스트 스택으로 관리한다. 자바스크립트 엔진은 단 하나의 실행 컨텍스트 스택을 갖는다. 자바스크립트 엔진이 동작하는 브라우저 환경이나 Node.js 환경은 한번에 하나의 태스크.. 2020. 5. 26.