반응형 js38 null vs undefined 차이 코딩을 하다보면 null과 undefined를 잘 사용했지만 문득 누군가 나에게 물어봤을때 문장으로 이야기 할 수 있을까라는 생각에 자신감이 떨어지는 모습을 보고 정리해보고자 한다.! null과 undefined란?JavaScript에서 null과 undefined는 모두 "값이 없음"을 나타내지만, 의미와 사용 목적이 다르다.아래 표를 보고 자세히 비교해보자. 구분nullundefined정의값이 할당되지 않은 상태의도적으로 값이 비어있음(null) 을 명시타입undefined (자체 타입)object (초기 JS 설계 오류로 object로 나온다)자동 생성 여부변수 선언만 했지만 값을 주지 않으면 자동으로 됨명시적으로 개발자가 할당해야 함사용 예시초기화되지 않은 변수, 없는 속성 접근 결과변수에 "값 .. 2025. 6. 4. var, let, const의 차이 var의 특징 선언이 호이스팅되어, 코드 맨 위로 타임슬립해서 미리 존재한다. 심지어 if나 for 블록 안에 선언해도 밖에서 접근 가능하다. 하지만 자유롭지만 너무 자유로운만큼 버그 유발 가능성 있다. let의 특징 블록 스코프 안에서만 행동 가능하다. 같은 이름으로 다시 선언이 안되지만 값은 변경 가능하다.undefined로 호이스팅되긴 하지만, "Temporal Dead Zone(TDZ)" 때문에 실제 사용 전에 접근하면 오류가 뜬다. const의 특징 선언과 동시에 초기화를 필수로 해야한다. 한 번 정하면 값을 바꿀 수 없다. (하지만 객체 내부는 바꿀 수 있음) 그렇기에 변하지 않는 값(상수) 선언에 적합하다. 특징varletconst스코프함수 스코프블록 스코프 ({} 안에서만 유효)블록 스코.. 2025. 6. 4. TypeScript에서 type vs interface 무엇이 다를까? type과 interface는 모두 객체의 형태(shape) 를 정의하는 데 사용된다. 하지만 겉보기에는 비슷하지만, 확장성, 유연성, 표현력에서 차이가 있다. 같이 알아보자 1. 기본 문법 비교- 선언하는 방식은 아래와 같고 둘 다 동일하게 작동한다.// interface 선언interface Person { name: string; age: number;}// type 선언type Person = { name: string; age: number;}; 2. 확장(확장성) 방식의 차이// interface는 extends로 확장이 가능하다.interface Animal { name: string;}interface Dog extends Animal { breed: string;}// typ.. 2025. 4. 20. immer에 대해 알려보자! https://immerjs.github.io/immer/ Introduction to Immer | ImmerImmer (German for: always) is a tiny package that allows you to work with immutable state in a more convenient way.immerjs.github.ioImmer란? 공식문서를 처음 읽어보면 "Immer는 불변 상태를 더 편리하게 다룰 수 있게 해주는 작은 패키지입니다." 라고 설명이 뜬다. 그럼 생각하게 된다 불변 상태가 뭘까? 이걸 알아야 우리느 Immer를 사용할 수 있다. 불변 상태란? 불변 상태란 한 번 생성된 데이터가 변경되지 않는 상태를 의미한다. 즉, 기존 객체나 배열을 직접 수정하는 것이 아니라.. 2025. 2. 9. 이전 1 2 3 4 ··· 10 다음 반응형