AI 웹개발 취업캠프 - 5일차 [NIPA/정보통신산업진흥원]

윤태경·2023년 7월 25일
0
post-custom-banner

📝과제 - null과 undefined의 차이점을 찾아보기

  1. 어떨때 값이 null이 되고 undefined으로 저장되는지 가능한 모든 케이스의 js 코드를 작성한다.
  2. 각 케이스의 코드상에 저장된 변수가 왜 null이고 undefined인지 원인을 설명한다.
  3. 비교연산자를 활용하여 각각의 케이스에 따라 null인지 undefined인지 확인하는 코드를 작성한다.

null

자바스크립트에서 null은 원시타입으로 나타낸다. null값은 빈 값, 값이 없다는 의미로 의도적으로 비어있음을 표현할 때 사용이 된다.

// null을 할당한 경우
let value = null;
console.log(value); // null

// 값이 할당된 변수에 null을 재할당한 경우
let name = "홍길동";
name = null;
console.log(name); // null

undefined

undefined도 자바스크립트에서 원시타입이다. 변수를 선언한 후 값을 할당하지 않았을 때, 주어지지 않은 인수에 자동으로 할당 되었을 때 나타난다.

// 값이 할당되지 않은 경우
let value1;
console.log(value1); // undefined

// undefined를 할당한 경우
let value2 = undefined;
console.log(value2); // undefined

// 주어지지 않은 속성에 접근했을 경우
let people = {
  name: "홍길동",
  age: "25",	
}
console.log(people.gender); // undefined

let subject = ["수학", "과학", "국어"]
console.log(subject[3]); // undefined

// return문이 없을 경우 함수를 호출했을 때
function func() {};
console.log(func()); // undefined

null vs undefined

nullundefined둘다 값이 없는 것을 의미하지만, undefined는 주어지지 않은 인수에 자동으로 할당되는 것 처럼 만약 명시적으로 값이 없다고 나타내려면 null을 사용하는게 좋다고 생각한다.

function checkValue(value) {
  if (value === null) {
    console.log("null 입니다.");
  }
  else if (value === undefined) {
    console.log("undefined 입니다.");
  }
  else console.log(value);
}

let value = null;
let people = {
  name: "홍길동",
  age: "25"
};

checkValue(value) // null 입니다.
checkValue(people) // { name: '홍길동', age: '25' }
checkValue(people.name) // 홍길동
checkValue(people.gender) // undefined 입니다.

본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스 완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성 되었습니다.

profile
frontend
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 7월 25일

정보 감사합니다.

답글 달기