목록자바스크립트 기초 (7)
꾸준히 합시다
4.1 변수란 무엇인가? 왜 필요한가? 메모리 주소를 통해 값에 직접 접근하는 것은 치명적 오류를 발생시킬 가능성이 높음. (예: 운영체제가 사용하고 있는 값을 실수로 변경하는 경우) 그렇기에 자바스크립트에서는 개발자의 직접적인 메모리 제어를 허용하지 않는다. 변수: 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름. 변수를 통한다면 개발자가 직접 메모리 주소를 통해 값을 저장하고 참조할 필요가 없이 안전하게 값에 접근 가능. 할당(assignment, 대입, 저장): 변수에 값을 저장하는 것. 참조(reference): 변수에 저장된 값을 읽어 들이는 것. 4.2 식별자 식별자(identifier): 어떤 값을 구별해서 식별할 수 있는 고유한 이름. 자..
프론트에서 상품 결제를 요청할 때 해당 상품의 현재 상태를 조회하기 위해 아래와 같은 코드를 작성했다. let itemList = await Item.findAll({ where: { itemName: itemNames }, attributes: ['id', 'itemName', 'stock', 'sold', 'status'] }); itemNames는 결제를 원하는 상품의 이름만 담긴 배열인데, 프론트에서 보낸 전체 상품 정보 객체 배열에서 각 상품의 이름만 따로 저장한 것이다. (예: ['토스터기', '무선 게이밍 마우스']) 해당 상품만 조회하는 것까지는 문제 없었지만, 결괏값이 itemNames의 index 순이 아니라 DB에 저장된 해당 상품의 id 순으로 정렬이 되어 나온 것이 문제였다. 만약..
ES6 출현 이전에 JavaScript에서 변수를 선언할 수 있는 방법은 var 키워드를 사용하는 것이 유일했다. ES6 이후 var 키워드의 단점을 보완하기 위해 let, const 키워드가 도입되었다. var, let, const의 차이점 var는 함수 스코프를 따르고 let과 const는 블록 스코프를 따른다. var 키워드로 선언된 변수는 함수 레벨의 스코프를 따르게 되며, 전역 함수 외부에서 생성된 변수는 모두 전역 변수로 간주된다. 반면에 블록 스코프를 따르는 키워드 let과 const로 선언된 변수는 코드 블록 내에서만 사용 가능하며, 가장 가까운 중괄호(function, if-else 블록, for-loop, try/catch 등) 내에서만 접근할 수 있다. var 변수의 중복 선언이 가능..
자바스크립트에서 변수는 선언, 초기화, 할당, 이 세 단계의 생성 과정을 가지고 있다. 첫 번째 단계인 변수의 선언은 var, let, const 키워드를 사용해 엔진에 변수의 존재를 알리는 가장 첫 단계이다. 그다음 초기화 단계를 통해 메모리 공간을 확보하고 변수는 undefined로 초기화된다. 마지막 할당 단계에서는 undefined로 초기화된 변수에 할당 연산자(=)를 사용해 메모리에 특정한 값을 넣게 된다. 변수 생성 단계 - 선언(Declaration) 자바스크립트에서의 변수 선언은 실행 컨텍스트의 변수 객체에 변수를 등록하는 단계를 의미한다. 이 변수 객체는 스코프가 참조하는 대상이다. 한 마디로 스코프에 변수를 등록하는 단계이며 이 단계에서 호이스팅이 일어난다. - 초기화(Initializ..