본문 바로가기

javascript4

실행 컨텍스트와 호출 스택에 대한 이해 Javascript 코드를 어떻게 실행하는가? 클로저와 스코프는 무엇인가? 이러한 근본적인 개념을 이해하기 위해서 실행 컨텍스트(Execution Context)와 호출 스택(Call Stack)을 이해하는 것이 중요하다. 자바스크립트 엔진 1. 자바스크립트 코드를 실행할 수 있는 곳은 브라우저(Browser), Nodejs 이다. 2. 브라우저와 Nodejs는 자바스크립트 엔진을 사용해서 코드를 분석하고 실행한다. 3. 여러 엔진이 있지만 대표적으로 C/C++로 작성된 Google의 V8이 있다. 4. 각 브라우저마다 실행되는 엔진이 다를 수 있기 때문에 특정 기능이 브라우저에서 지원되지 않는지 이해할 수 있다. 5. 예를 들면 ES6기능을 사용하고 싶을 때 IE는 안되고 Chrome은 되는 이유가 여.. 2024. 3. 24.
nullish 병합 연산자 ?? 에 대하여 nullsih 병합 연산자( ?? ) 는 논리 연산자로 왼쪽 피연산자가 null 이거나 undefined일 경우 오른쪽 피연산자를 반환하고 그렇지 않을 경우 왼쪽 피연산자를 반환한다. null ?? 'hello' // 'hello' undefined ?? 'hello' // 'hello' 'hi' ?? 'hello' // 'hi' OR 연산자 '||' 와의 차이점 1. OR( || ) 는 왼쪽 피연산자가 false로 평가되는 경우 오른쪽 피연산자를 반환한다. 2. false로 평가되는 값으로 null, undefined, 빈문자열 '', 0 등이 있다. '' ?? 'hello' // '' '' || 'hello' // 'hello' 0 ?? 100 // 0 0 || 100 // 100 다음 예시를 보자 .. 2024. 3. 24.
number 와 bigint에 관하여 (feat. nestjs) BigInt는 ECMAScript2020(ES11)에 추가된 새로운 타입이다.  BigInt는  Number 타입으로 표현할 수 없는 매우 큰 정수를 다룰 수 있다.  먼저 Number에 대해 알아보자 1. Number는 32 또는 -3.25와 같은 부동소숫점 숫자를 나타낸다. 2. 자바스크립트 코드 내에서 255와 같은 숫자 리터럴은 정수가 아닌 부동소수점 값이다.255 === 255.0 // true 3. 자바스크립트의 Number 타입은 Java나 C#의 double과 같은 64비트 이중 정밀도 바이너리 형식 IEEE 754 값이다. 4. 이는 분수 값을 나타낼 수 있음을 의미하지만, 저장된 숫자의 크기와 정밀도에는 일정한 제한이 있다. 5. 소숫점 이하 17자.. 2024. 3. 14.
자바스크립트 Set를 활용하여 중복을 제거하자! 개념 - 자료구조에서의 Set란 순서가 없으며 중복되지 않은 데이터의 집합이다. - 즉 Set는 동일한 요소가 존재할 수 없다. - 배열은 데이터를 순서있게 저장하고 index를 통해 저장된 데이터에 접근한다. - 배열에는 동일한 값을 다른 index에 여러 번 저장 가능하다. - Set는 인덱스를 통해서 접근할 수 없다. - 자바스크립트 Set는 ES6에 추가된 기능이다. - 자바스크립트의 Set은 요소를 삽입한 순서대로 반복 할 수 있다. 어디에 사용하면 좋을까? - 여러 상품 목록에서 추출한 키워드 리스트가 필요할 때, 배열 대신 Set에 저장한다면 중복을 제거할 수 있다. - 사용자 ID, 이메일 주소 등 고유해야하는 값들을 관리할 때 사용할 수 있다. Set 생성 - Set는 class이므로 n.. 2024. 3. 7.