본문 바로가기

javascript6

[JavaScript] TDZ(Temporal Dead Zone) TDZ 란?TDZ(Temporal Dead Zone) - 일시적인 사각지대스코프의 시작 지점부터 초기화 시작 지점까지의 구간을 TDZ(Temporal Dead Zone) 라고 함'선언만 되고 아직 초기화 되지 않는 변수가 머무는 공간'   TDZ 에 영향을 받는 구문constconst 변수는 선언 및 초기화 전 줄까지 TDZ에 있음pi; // ReferenceError 발생const pi = 3.14; letlet 변수는 선언 및 초기화 전 줄까지 TDZ에 있음pi; // ReferenceError 발생let pi = 3.14; classclass 는 선언전에는 사용불가const myNissan = new Car('red'); // ReferenceError 발생class Car { constructo.. 2024. 8. 10.
[JavaScript] 호이스팅 (Hoisting) 호이스팅이란?호이스팅은 인터프리터가 코드를 실행하기 전에 함수, 변수, 클래스 또는 임포트(import)의 선언문을 해당 범위의 맨 위로 끌어올리는 것처럼 보이는 현상을 뜻합니다. - MDN Web Docs  사전적으로 "끌어올리다" 를 의미스크립트 내 선언된 함수 및 변수들이 순서에 상관없이 최상단으로 끌어올려짐자바스크립트 엔진이 컴파일 과정에서 먼저 미리 스캔하고 실행 컨텍스트에 변수/함수객체를 미리 저장하기에 이런 현상이 발생 변수 호이스팅변수가 호이스팅 될 때는 선언, 초기화만 된채로 호이스팅 되고 할당까지 호이스팅 되지 않음var 로 선언된 변수의 호이스팅아래 예제에서 console.log() 는 초기화 된 var 변수를 출력하므로 undefined를 출력 console.log(hoistVar.. 2024. 8. 10.
[JavaScript] 연산자 Javascript 연산자주어진 식을 계산하여 결과를 얻어내는 과정을 '연산''연산자'란 프로그래밍에서 쓰이는 기호ex) 산술 연산자, 문자열 연산자, 증감 연산자, 지수 연산자, 대입 연산자, 비교 연산자, 삼항 연산자, 논리 연산자 등 Javascript 연산자 종류산술 연산자덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%)로 구성let a = 4 + 2; // 6let b = 3 - 2; // 1let c = 5 * 2; // 10let d = 6 / 2; // 3let e = 8 % 3; // 2 문자열 연산자'+' 연산자는 문자열이 아닌 데이터는 문자열로 바꿔서 연산  let str1 = 'Beau ' + 'Kim'; // Beau Kimstr1 += ' Male'; // Beau.. 2022. 6. 30.
[JavaScript] 64비트 부동소수점 0.1 + 0.2 는 0.3이 아니다?!// 0.1 + 0.2 는 ?console.log(0.1 + 0.2); // 0.30000000000000004 출력 2진법과 10진법사람은 0~9라는 10가지의 숫자를 이용해서 수를 나타내는 10진법 사용컴퓨터는 0과 1이라는 두 개의 숫자만을 사용하여 수를 나타내는 2진법 사용 Javascript Number 64비트 부동소수점자바스크립트에서 숫자는 '64 비트 IEEE 754 형식'으로 다뤄짐(64비트 중 52비트는 숫자를 저장하는 데 사용되고, 11비트는 소수점 위치를(정수는 0), 1비트는 양수/음수 부호를 저장하는 데 사용)10진법으로 표현된 수를 2진법으로 변환 시 64비트를 초과하는 무한소수가 발생할수도 있는데, 64비트 공간에 맞도록 유한하게 근사치.. 2022. 6. 28.