본문 바로가기

JavaScript11

[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.
[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.
[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.
[Node.js / Error] return process.dlopen(module, path.toNamespacedPath(filename)); Node.js app.js 실행 시 Error return process.dlopen(module, path.toNamespacedPath(filename)); ==> node_modlues 버전이 안맞아서 발생하는 error. rm -rf node_modules npm update 기존의 node_modlues 폴더 삭제 후 업데이트, 그리고 실행하면 잘 된다. 참고 : https://velog.io/@howooke/%EB%B0%B0%ED%8F%AC%EC%8B%9C-%EC%97%90%EB%9F%ACreturn-process.dlopenmodule-path.toNamespacedPathfilename 2024. 4. 8.
[Javascript] variable 과 !!variable - Double Exclamation Mark const res = variable const booleanRes = !!variable - !! (Double Exclamation Mark) !!variable 만약 variable이 null, undefined, 0, 빈 문자열 등의 falsy한 값이라면 강제 Boolean 변환 후에는 true가 되고, 이를 다시 부정 연산자로 적용하면 false가 됩니다. if (variable) if (!!variable) - if (variable) 와 if (!!variable) JavaScript에서 조건문을 사용하여 변수 variable의 값이 존재하는지 여부를 확인하는 코드. if (variable): 이 코드는 변수 variable이 존재하는지 여부를 확인. JavaScript에서는 falsy한 값.. 2024. 3. 6.