자바스크립트의 변수 유형

이 기사에서는 Javascript의 변수 유형에 대해 구체적으로 설명합니다. 내가 전체 게시물을 여기에 바친 이유는 이것에서 나오는 까다로운 인터뷰 질문이 많기 때문입니다. 많은 함정이 포함되어 있습니다. 따라서 이것은 별도의 기사가 필요합니다.

JavaScript에서 사용할 수 있는 데이터 유형에는 주로 6가지가 있습니다.
  • 문자열
  • 번호
  • 부울
  • 정의되지 않음
  • 개체

  • 그러나 이러한 데이터 유형도 두 가지 범주로 나뉩니다.
  • 기본 데이터 유형
  • 기본이 아닌 데이터 유형

  • 이 게시물에서 이러한 문제 중 일부와 예를 볼 수 있습니다. 설명할 가치가 있는 내용이 많기 때문에 Object 데이터 유형에 대해서는 별도의 문서가 필요하지만

    1. 문자열



    어떤 값이든 담을 수 있습니다. 원시 데이터 유형 중 하나입니다. 기본 데이터 유형은 변경할 수 없습니다.

    예를 들어 다음과 같이 문자열의 각 문자에 액세스할 수 있습니다.

    let name = 'pankaj';
    console.log(name[0]); // 'p'
    console.log(name[1]); // 'a'
    console.log(name[2]); // 'n'
    


    그러나 다음과 같은 기본 데이터 유형의 값을 다시 할당할 수 없습니다.

    let name = 'pankaj';
    name[0] = 't';
    
    console.log(name[0]); // 'p'
    console.log(name); // 'pankaj'
    


    따라서 기본 데이터 유형은 변경할 수 없으며 이와 같이 수정할 수 없습니다.

    2. 번호



    ECMAScript 표준에 따르면 Number는 배정밀도 64비트 바이너리 형식 IEEE 754 값을 보유합니다.

    숫자 데이터 유형은 다음을 포함하여 가능한 모든 숫자 값을 보유할 수 있습니다.
  • NaN (숫자가 아님)
  • +Infinity (양의 무한대)
  • -Infinity (음의 무한대)

  • 위의 세 가지는 Number 데이터 유형에 저장할 수 있는 특수한 유형의 데이터입니다.

    NaN(숫자가 아님)



    어떤 이유로 숫자 파싱에 실패했을 때 자바스크립트가 반환하는 특별한 값입니다.

    자신과 같지 않습니다.

    console.log(NaN === NaN); // false
    console.log(NaN == NaN); // false
    


    값이 NaN인지 아닌지는 isNaN() 함수를 사용하여 확인할 수 있습니다.

    그러나 isNaN() 함수를 사용할 때는 먼저 유형 변환을 통해 전달한 값을 숫자로 변환하려고 시도하므로 결과적으로 일부 값은 숫자로 변환되고 다른 값은 변환되지 않기 때문에 주의하십시오.

    예를 들어:

    console.log(isNaN(NaN)); // true
    console.log(isNaN(undefined)); // true
    console.log(isNaN({})); // true
    console.log(isNaN(null)); // false
    console.log(isNaN(true)); // false
    console.log(isNaN(false)); // false
    console.log(isNaN('')); // false
    console.log(isNaN('     ')); // false
    console.log(isNaN('90')); // false
    console.log(isNaN("Ant Man")); // true
    


    3. 부울



    이것은 true 또는 false 를 보유하는 가장 간단한 데이터 유형 중 하나입니다.

    4. 널


    null는 변수를 선언하고 의도적으로 값의 부재를 표현하고자 할 때 사용됩니다(값이 단순히 존재하지 않는 undefined와 달리).

    다음은 null 값이 있는 문제입니다.

    console.log(typeof null); // 'object'
    

    null 유형은 object 입니다. 😂 이상하다는 건 알지만 디자인이 이렇게 되어있고 우리는 살아가야 합니다.

    5. 정의되지 않음



    이것은 JavaScript에 대한 또 다른 독특하고 이상한 점입니다. 변수를 선언했다면 변수가 존재하지만 값을 입력하지 않는 한 여전히 고려됩니다undefined. 따라서 기본적으로 선언되었지만 값이 할당되지 않은 변수의 상태를 나타냅니다.
    undefined 유형은 undefined 입니다.

    console.log(typeof undefined); // 'undefined'
    


    6. 개체



    개체는 속성 모음입니다. 속성은 이전에 언급한 유형뿐 아니라 다른 개체 및 함수일 수 있습니다.

    기본이 아닌 데이터 유형이며 참조로 값을 저장합니다. 이것은 개체의 매우 까다로운 부분입니다.

    console.log({} === {}) // false
    


    객체는 참조에 의해 생성되므로 두 개{}는 항상 두 개의 서로 다른 참조를 가지므로 결코 같지 않습니다. 이것은 당신이 조심해야 할 또 다른 문제입니다.

    다른 데이터 유형 간의 비교:



    다음은 빠르고 흥미로운 비교입니다.

    console.log(null === undefined); // false
    console.log(null == undefined); // true
    
    console.log(null === null); // true
    console.log(null == null); // true
    
    console.log(!null); // true
    console.log(null); // null
    console.log(!!null); // false
    
    console.log(1 + null); // 1
    console.log(1 + undefined); // NaN
    


    읽어 주셔서 감사합니다! 🎈

    좋은 웹페이지 즐겨찾기