JavaScript Tutorial.47

ansunny1170·2022년 1월 2일
0
post-thumbnail

JS TYPEOF

JS에는 값을 가질 수 있는 5가지의 각기 다른 데이터 Type이 있다:

  • string
  • number
  • boolean
  • object
  • function

6가자의 객체 Type이 있다:

  • Object
  • Date
  • Array
  • String
  • Number
  • Boolean

그리고,값을 가질 수 없는 2가지의 데이터 Type이 있다:

  • null
  • undefined

The typeof Operator

typeof 연산자를 사용하여 JavaScript 변수의 데이터 유형을 찾을 수 있다.

아래 내용을 기억하자.

  • NaN의 데이터 유형은 숫자다.
  • Array의 데이터 유형은 객체다.
  • date의 데이터 유형은 객체다.
  • null의 데이터 유형은 객체다.
  • 정의되지 않은 변수의 데이터 유형(undefined)은 정의되지 않음(undefined)이다.
  • 값이 할당되지 않은 변수의 데이터 유형도 정의되지 않음(undefined)이다.

Primitive Data

기본 데이터 값은 추가 속성 및 메서드가 없는 단일 단순 데이터 값이다.

typeof 연산자는 다음 기본 유형 중 하나를 반환할 수 있다.

  • string
  • number
  • boolean
  • undefined

Complex Data

typeof 연산자는 두 가지 복합 유형 중 하나를 반환할 수 있다:

  • function
  • object

typeof 연산자는 objects, arrays 및 null에 대해 "object"를 반환한다.

typeof 연산자는 함수에 대해 "object"를 반환하지 않는다.

JavaScript에서 배열은 객체이기 때문에 typeof 연산자는 배열에 대해 "object"를 반환한다.

The Data Type of typeof

typeof 연산자는 변수가 아니다. 하나의 연산자이다. 연산자( + - * / )는 데이터 유형이 없다.

그러나 typeof 연산자는 항상 string(피연산자의 유형 포함)을 반환한다.

The constructor Property

constructor 속성은 모든 JavaScript 변수에 대한 생성자 함수를 반환한다.

  • constructor 속성을 확인하여 객체가 Array("Array"이라는 단어 포함)인지 확인할 수 있다.
<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Arrays</h2>

<p>This "home made" isArray() function returns true when used on an array:</p>

<p id="demo"></p>

<script>
const fruits = ["Banana", "Orange", "Apple"];
document.getElementById("demo").innerHTML = isArray(fruits);

function isArray(myArray) {
  return myArray.constructor.toString().indexOf("Array") > -1;
}
</script>

</body>
</html>

  • 또는 더 간단하게 객체가 Array 함수인지 확인할 수 있다.
<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Array Object</h2>
<p>This "home made" isArray() function returns true when used on an array:</p>

<p id="demo"></p>

<script>
const fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = isArray(fruits);

function isArray(myArray) {
  return myArray.constructor === Array;
}
</script>

</body>
</html>

  • consturctor 속성을 확인하여 객체가 Date("Date"라는 단어 포함)인지 확인할 수 있다.
  • 또는 더 간단하게 객체가 Date 함수인지 확인할 수 있다.

Undefined

JS에서 값이 없는 변수는 정의되지 않은 값(undefined)을 가진다. 유형도 정의되지 않는다.

값을 undefined로 설정하여 모든 변수를 비울 수 있다. 유형도 정의되지 않는(undefined)다.

Empty Values

빈 값은undefined와 아무 관련이 없다.
빈 문자열에는 유효한 값과 유형이 모두 있다.

Null

JavaScript에서 null은 "nothing"이다. 존재하지 않는 존재라고 봐야 합니다.
불행히도 JavaScript에서 null 데이터 유형은 객체다.

typeof null이 객체라는 것은 JavaScript의 버그라고 생각할 수 있다. 응당 null이어야 합니다.

  • null로 설정하여 객체를 비울 수 있다:

  • undefined으로 설정하여 객체를 비울 수도 있다.

Difference Between Undefined and Null

undefinednull은 값이 같지만 유형이 다르다.

profile
공정 설비 개발/연구원에서 웹 서비스 개발자로 경력 이전하였습니다. Node.js 백엔드 기반 풀스택 개발자를 목표로 하고 있습니다.

0개의 댓글