전체 글(31)
-
[JS] HTTP 메소드 (GET, POST, PUT, DELETE, PATCH)
HTTP 메소드란 클라이언트가 웹 서버에게 사용자 리퀘스트의 목적이나 종류를 알리는 수단이다. Request의 종류 데이터 조회 GET 데이터 추가 POST 데이터 수정 PUT 데이터 삭제 DELETE 모든 Request는 Head와 Body로 나뉜다. Head : Reqest에 대한 부가 정보 (메서드) Body : 실제 데이터를 담는 부분 (data) 데이터를 추가하는 POST, 수정하는 PUT은 Body 부분의 데이터가 필요하지만 단순히 조회하는 GET과 DELETE는 Body 부분이 필요로 하지 않다. GET method 데이터를 읽거나 검색할 때 사용 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터, 쿼리 스트링)를 통해서 전달 데이터 전달 가능하지만 권장하지 않음 불필요한 리퀘스트를 제..
2024.01.28 -
[JS] 이벤트 버블링, 캡쳐링, 위임
이벤트 전파는 다음과 같이 3단계로 구분된다. 1. 캡처링 단계: 이벤트가 상위 요소에서 하위 요소 방향으로 전파 (부모 요소에서 자식 요소로 전파) 캡쳐링 단계에서 이벤트 핸들러를 동작시키려면, addEventListener 에 세번째 프로퍼티에 true 또는 { capture: true }를 전달하면 된다. 2. 타깃 단계: 이벤트각 이벤트 타깃에 도달 3. 버블링 단계: 이벤트가 하위 요소에서 상위 요소 방향으로 전파 (자식 요소에서 부모 요소로 전파) 기본적으로 이벤트 버빌링이 일어나고, 이를 막으려면 이벤트 객체에서 stopPropagation 메소드로 전파를 막을 수 있음 이벤트 위임 자식 요소 각각에 이벤트 핸들러를 하나씩 등록할 필요 없이 부모 요소에서 한 번에 자식 요소들에 발생한 이벤트..
2024.01.28 -
[JS] 13장 스코프-모던 자바스크립트 Deep Dive
13.1 스코프란? 스코프는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념이다. 자바스크립트에서 var 키워드로 선언한 변수와 let, const 키워드로 선언한 변수의 스코프도 다르게 동작한다. 모든 식별자(변수이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정된다. 이를 스코프라 한다. 즉, 스코프는 식별자가 유효한 범위를 말한다. 또한 자바스크립트 엔진은 이름이 같은 두 개의 변수 중에서 어떤 변수를 참조해야 할 것인지를 결정해야 하는데 이를 식별자 결정이라 한다. 자바스크립트 엔진은 스코프를 통해 어떤 변수를 탐조해야 할 것인지 결정한다. 따라서 스코프란 자바스크립트 엔진이 식별자를 검색할 때 사용하는..
2024.01.27 -
[JS] 12장 제어문-모던 자바스크립트 Deep Dive
12.1 함수란? 프로그래밍 언어의 함수는 수학의 함수와 같은 개념이다. 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. 함수 내부로 입력을 전달받는 변수를 매개 변수(parameter), 입력을 인수(argument), 출력을 반환값(return value)이라 한다. 함수는 값이며, 특정 함수를 구별하기 위해 식별자인 함수 이름을 사용할 수 있다. 12.2 함수를 사용하는 이유 코드를 재사용하기 위해 사용한다. 재사용성을 높이는 함수는 코드의 중복을 억제하고 유지보수의 편의성을 높이고 실수를 줄여 코드의 신뢰성을 높이는 효과가 있다. 변수 이름과 마찬가지로 함수 이름 또한 함수 자신의 역할을 잘 설명해야 하고 이는 함수 내부 코드를 이해하지 않고도 함수의 역할을..
2024.01.24 -
[JS] 08장 제어문-모던 자바스크립트 Deep Dive
제어문은 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용한다. 일반적으로 코드는 위에서 아래 방향으로 실행되는데 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다. 이는 직관적인 코드의 흐름을 혼란스럽게 만들어 가독성을 해친다는 단점이 있다. 이번 장에서는 for문이 매우 중요하므로 꼭 이해하도록 하자. 8.1 블록문 블록문은 0개 이상의 문을 중괄호로 묶은 것으로 자바스크립트는 블록문을 하나의 실행 단위로 취급한다. 블록문은 단독으로 사용할 수도 있으나 일반적으로 제어문이나 함수를 정의할 때 사용하는 것이 일반적이다. 특히 블록문이 끝날 때는 세미콜론을 붙이지 않는다. 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문이다. 8.2 조건문 조건문은 주어진 조건식의 평가..
2024.01.15 -
[JS] 07장 연산자-모던 자바스크립트 Deep Dive
연산자(operator)는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다. 이때 연산의 대상을 피연산자라 한다. 기본적으로 사용되는 부분이지만 헷갈릴 수 있는 부분이 있기 때문에 꼼꼼하게 한번 봐두는 것을 추천한다. 다 아는 내용이어도 할당 연산자, 비교 연산자, 삼항 조건 연산자, 논리 연산자는 개인적으로 중요하다고 생각하는 부분이라 읽어보길 권장한다. 7.1 산술 연산자 산술 연산자는 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만든다. 이때 산술 연산이 불가능한 경우, NaN을 반환한다. 피연산자의 개수에 따라 이항 산술 연산자와 단항 산술 연산자로 구분된다. 7.1.1 이항 산술 연산자 이항 산술 연산자는 2개의 피연산자..
2024.01.15