본문 바로가기
반응형

코딩108

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.
Transpiling(트랜스파일링) - JavaScript transpiling이란? transpiling이란 transpile = translate + compile의 합성어로, 한 프로그래밍 언어의 코드를 다른 언어로 변환하는 과정을 의미한다. 즉, 같은 수준의 추상화(같은 레벨의 언어)에서 코드 변환을 하는 프로세스인 것이다.예시로 JavaScript → 다른 버전의 JavaScript 또는 TypeScript → JavaScript가 있다. 그렇다면 왜 transpiling이 필요한지 알아보자. transpiling이 필요한 이유브라우저/환경 호환성 문제 해결 : 프로그래밍 언어, 특히 JavaScript는 지속적으로 새로운 기능과 문법이 추가되지만,모든 브라우저와 실행 환경이 이 새로운 기능을 즉시 지원하지는 못한다. 하지만 사용자가 구형 브라우저를.. 2025. 5. 10.
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.
반응형