CodeGym /행동 /Frontend SELF KO /JavaScript의 특별한 타입들

JavaScript의 특별한 타입들

Frontend SELF KO
레벨 35 , 레슨 1
사용 가능

2.1 변수는 참조다

JavaScript에서 변수는 객체에 대한 참조를 나타내며, 변수 자체가 아니다. 이는 JavaScript에서 변수를 만드는 경우 단순히 메모리의 객체에 대한 참조를 만드는 것을 의미해.

이 특징은 특히 함수를 통해 객체를 전달하거나 다른 변수에 할당할 때 변수 작업에 중요한 결과를 초래한다.

변수를 만들고 값을 할당할 때, JavaScript는 이 값에 대한 객체를 메모리에 할당하고 그 객체에 대한 참조를 변수에 할당한다. 한 변수를 다른 변수에 할당하면 새 변수는 원래 변수와 같은 객체를 참조하게 된다. 이는 한 변수를 통해 수행한 변경 사항이 변경 가능한 객체인 경우 다른 변수에도 적용됨을 의미한다.

예시:

JavaScript
    
      let a = [1, 2, 3];
      let b = a;

      b.push(4);
      console.log(a);  // 출력: [1, 2, 3, 4]
    
  

b에 4를 추가했지만, 이 리스트는 a의 리스트에도 추가된다. 왜냐하면 두 변수 모두 [1, 2, 3] 리스트 객체에 대한 참조일 뿐이기 때문이야.

2.2 타입 undefined

JavaScript에는 두 가지 특별한 데이터 타입: nullundefined가 있어. 이 타입들은 서로 유사하기 때문에 개발자들이 자주 질문을 하지만, 그 용도가 다르며 다양한 상황에서 사용돼. 자세히 살펴보자.

타입 undefined

undefined 타입은 선언되었지만 초기화되지 않은 변수의 값을 의미해. 이 값은 또한 객체의 존재하지 않는 속성에 접근하거나 존재하지 않는 배열 요소를 찾을 때도 반환되지.

예시

1. 초기화되지 않은 변수:

JavaScript
    
      let x;
      console.log(x); // undefined
    
  

2. 존재하지 않는 객체 속성:

JavaScript
    
      let obj = {};
      console.log(obj.property); // undefined
    
  

3. 존재하지 않는 배열 요소:

JavaScript
    
      let array = [1, 2, 3];
      console.log(array[5]); // undefined
    
  

4. 누락된 함수 인수:

JavaScript
    
      function myFunction(a, b) {
        console.log(b); // undefined, if 호출 as myFunction(1)
      }
      myFunction(1);
    
  

undefined의 속성:

  • undefined는 데이터 타입이자 값이야
  • typeof undefinedundefined를 반환해

2.3 타입 null

null 타입은 의도적으로 값이 없음을 나타내. 이 값은 나중에 객체가 할당될 변수의 초기화 또는 변수 값의 삭제에 자주 사용돼.

예시

1. 변수의 초기화:

JavaScript
    
      let obj = null;
      console.log(obj); // null
    
  

2. 변수 값 삭제:

JavaScript
    
      let user = { name: "Alice" };
      user = null; // user는 이제 객체를 가리키지 않아
    
  

null의 속성:

  • null은 값의 의도적인 부재를 나타내는 값이야
  • typeof nullobject를 반환하지만, 이는 JavaScript의 인정된 오류야 (null은 실제로 객체가 아니야)

2.4 null과 undefined 비교

nullundefined는 값의 부재를 나타내기 위해 사용될 수 있지만, 그들의 용도와 사용 문맥은 다르다.

특성 null undefined
유형 기본 유형 기본 유형
목적 값의 의도적 부재 초기화되지 않은 변수
사용 변수 초기화, 값 삭제 존재하지 않는 속성, 배열 요소
기본값 없음 있음 (초기화되지 않은 변수, 함수 매개변수)

사용 예시

1. 객체 또는 배열로 변수 초기화:

JavaScript
    
      let myObject = null;
      let myArray = null;
    
  

2. 값 확인:

JavaScript
    
      let value;

      if (value === undefined) {
        console.log("변수가 초기화되지 않았다.");
      }

      let result = null;

      if (result === null) {
        console.log("값의 부재.");
      }
    
  

3. 값 삭제:

JavaScript
    
      let person = { name: "Alice" };
      person = null; // 이제 person은 객체를 가리키지 않아
    
  

4. 속성 존재 여부 확인:

JavaScript
    
      let obj = {};

      if (obj.property === undefined) {
        console.log("속성이 존재하지 않는다.");
      }
    
  

JavaScript에서 nullundefined의 차이를 이해하는 것은 값을 올바르게 관리하고 코드에서 오류를 방지하는 데 중요해.

undefined는 일반적으로 초기화되지 않은 변수나 누락된 속성을 나타내며, null은 의도적으로 값이 없음을 나타낼 때 사용된다.

이 특별한 데이터 타입들을 올바르게 사용하면 코드를 더 이해하기 쉽게 하고 예측 가능하게 만들어.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION