본문 바로가기

Javascript&Typescript32

[Javascript] 자바스크립트 변수 선언, 스코프, TDZ, 호이스팅, 스코프 체인, 클로저 총정리 ✅ 1. 변수 선언 방식과 스코프자바스크립트에서는 변수를 var, let, const로 선언하며 각각의 스코프(Scope)와 호이스팅(Hoisting), TDZ(Temporal Dead Zone) 특징이 다릅니다.선언 키워드스코프재선언재할당호이스팅TDZvar함수(function)OO선언+초기화❌ 없음let블록(block)❌O선언만 호이스팅✅ 있음const블록(block)❌❌선언만 호이스팅✅ 있음✅ 2. 호이스팅(Hoisting)이란?호이스팅은 변수나 함수 선언이 스코프의 최상단으로 끌어올려지는 현상console.log(a); // undefinedvar a = 5;var a 선언이 위로 올라감내부적으로는 다음처럼 작동:var a;console.log(a); // undefineda = 5;🔹 let/c.. 2025. 4. 3.
[Node.js] 'nodemon' 로컬 설치 vs 전역 설치 정리 ✅ nodemon 로컬 설치 vs 전역 설치 정리📁 폴더 구조 예시webgui/├── node_modules/├── package.json├── 0327/│ ├── app.js│ └── *.html❓ 문제 상황현재 webgui/0327 폴더에서 app.js 실행을 위해 nodemon app.js 입력 시 실행되지 않음하지만 npx nodemon app.js는 정상 실행됨💡 원인 및 개념1. nodemon app.js가 안 되는 이유nodemon 명령어는 전역(global)으로 설치된 경우에만 터미널에서 직접 실행 가능현재 전역 설치가 안 되어 있으므로, 명령어를 인식 못함2. npx nodemon app.js는 되는 이유npx는 현재 프로젝트의 node_modules/.bin 디렉토리에서 실행.. 2025. 3. 27.
[Javascript] JavaScript의 Falsy Falsy (거짓 같은 값)프로그래밍에서 Falsy(거짓 같은 값)란 논리적 평가(예: if 문)에서 false로 간주되는 값을 의미.JavaScript에서는 특정 값들이 자동으로 false로 평가되며, 이를 Falsy value 라고 한다.JavaScript에서 Falsy 값 목록:이러한 값들은 조건문에서 자동으로 false로 간주.if (!0) { console.log("Falsy 값입니다!"); // 실행됨}위 코드에서 0은 Falsy 값이므로 if (!0) 조건이 true로 평가되고, "Falsy 값입니다!"가 출력.Falsy 값과 Boolean 변환JavaScript에서 Boolean() 함수를 사용하면 값이 true인지 false인지 확인할 수 있음.console.log(Boolean(fal.. 2025. 3. 20.
[Node.js] nodemon 실행 방식 차이: nodemon app.js vs npx nodemon app.js 📌 nodemon 실행 방식 차이: nodemon app.js vs npx nodemon app.js (설치부터 실행까지!) 🚀1. nodemon이란? 🔥✅ nodemon은 Node.js 애플리케이션을 자동으로 감시하고 변경 사항이 감지되면 자동으로 서버를 재시작하는 개발 도구임.✔ Node.js로 서버를 실행하면 코드 변경 시 매번 Ctrl + C로 서버를 종료하고 다시 실행해야 하는 번거로움이 있음.✔ nodemon을 사용하면 코드 변경을 감지하여 자동으로 서버를 재시작해 줌.✔ 주로 백엔드 개발 시 개발 환경에서 사용됨. 🔹 기본 사용법nodemon app.jsapp.js 파일을 실행하고, 파일 변경이 감지되면 자동으로 다시 실행됨.🔹 특정 파일 확장자를 감시하려면?nodemon --ext.. 2025. 3. 20.
[Javascript] 데이터타입 문자열string"" 큰따옴표, ''작은따옴표로 감싸져있는 것str.length : 문자열 길이length : propertiesmethod (ex str.toUpperCase(), str.indexOf('o'), str.indexOf('world')숫자산술연산자 +, -, *, / 배열배열 (array) : 연관된 데이터들을 잘 정리해서 모아둔 수납상자.[] 대괄호 객체데이터를 담아내는 컨테이너배열과 유사한 역할차이점 : 배열은 데이터를 추가하면 인덱스가 자동으로 추가됨 (0,1,2..)객체는 인덱스로 우리가 원하는 형태의 데이터를 지정할 수 있음. (숫자, 문자..) 객체는 다른 언어에서는 associative array (연관배열), map, dictionary 데이터타입에 해당{} 중괄호 객체 인.. 2024. 11. 25.
[Javascript] 변수 데이터 타입primitive typenumber, string, boolean, null, undefined, symbol : 가장 작은 단위 데이터타입이 가장 작은 데이터 : primitive data type 변수 선언과 동시에 메모리에 변수를 위한 공간이 생김 let number = 2let number2 = number // number 변수에 들어있는 데이터를 복사해 할당let number2 = 3 // 업데이트// number들어있는 데이터가 복사되어 number2에 들어갔기 때문에 number2 업데이트해도 number에 영향 주지 않음console.log(number); // 2 console.log(number2); // 3  object typenumber, string, boolean.. 2024. 11. 25.