Loading the catalog…
Loading the catalog…
1. null vs undefined 둘 다 “값이 없음”을 나타내지만 의미가 다르다. let a; console.log(a); // undefined let b = null; console.log(b); // null undefined : 값이 아직 할당되지 않음 null : 개발자가 의도적으로 “값 없음”을 넣음 실무에서는 API 응답, 초기 상태값, optional 값 처리할 때 자주 만난다. 2. == vs === 1 == "1" // true 1 === "1" // false == 는 비교 전에 타입을 자동 변환한다. === 는 타입과 값이 모두 같은지 비교 한다. 그래서 실무에서는 거의 항상: if (a === b) { } 처럼 === 를 사용한다. 3. 타입 강제 변환(Type Coercion) JavaScript는 상황에 따라 타입을 자동으로 바꾼다. "5" + 1 // "51" "5" - 1 // 4 + 는 문자열 연결로 동작할 수 있지만, - 는 숫자 연산만 가능해서 숫자로 변환된다. 이런 암묵적 변환 때문에 JS에서 예상하지 못한 결과가 생길 수 있다. 4. Truthy / Falsy JS에서는 boolean이 아니어도 조건문에서 참/거짓으로 판단된다. Falsy 값: false 0 "" null undefined NaN 이외 대부분의 값은 Truthy다. if ("hello") { console.log("실행됨"); } 특히 주의할 것: [] // truthy {} // truthy 빈 배열과 빈 객체도 true 취급된다. 5. NaN NaN 은 Not a Number라는 뜻이다. Number("hello"); // NaN 특이하게: NaN === NaN // false 그래서 확인할 때는: Number.isNaN(value); 을 사용한다. 6. typeof 타입 확인: typeof 10 // "number" typeof "hello" // "string" typeof true // "boolean" typeof undefined // "undefined" typeof {} // "object" 그런데 유명한 예외가 있다. typeof null // "object" 이건 JS 초기 설계에서 생긴 오래된 버그성 동작이다. 핵심 정리 undefined → 값이 아직 없음 null → 의도적으로 값 없음 == → 타입 변환 후 비교 === → 타입 + 값 비교 → 실무에서 기본 사용 Truthy / Falsy → 조건문에서 값 자체가 true/false처럼 평가됨 []와 {}는 truthy NaN → 숫자로 변환할 수 없는 값 typeof null === "object" → JS의 오래된 특이사항
What RADAR observed and classified to build this opportunity. It is what the source published, not a verification that the offer is still active.
JS) Part 2. JavaScript 타입 시스템. 1. null vs undefined 둘 다 “값이 없음”을 나타내지만 의미가 다르다. let a; console.log(a); // undefined let b = null; console.log(b); // null undefined : 값이 아직 할당되지 않음 null : 개발자가 의도적으로 “값 없음”을 넣음 실무에서는 API 응답, 초기 상태값, optional 값 처리할 때 자주 만난다. 2. == vs === 1 == "1" // true 1 === "1" // false == 는 비교 전에 타입을 자동 변환한다. === 는 타입과 값이 모두 같은지 비교 한다. 그래서 실무에서는 거의 항상: if (a === b) { } 처럼 === 를…