>  기사  >  웹 프론트엔드  >  JavaScript의 값 유형에 대한 자세한 소개

JavaScript의 값 유형에 대한 자세한 소개

PHPz
PHPz원래의
2016-05-16 16:23:451241검색

컴퓨터 프로그램의 본질은 크게 기계가 다양한 정보(값)를 연산하고 읽고 쓰는 것이라고 할 수 있습니다. JavaScript에는 다양한 유형의 값이 있으며 기본(기본 유형)과 객체(객체)라는 두 가지 주요 범주로 나뉩니다.

프리미티브

자바스크립트에는 5가지 유형의 프리미티브가 있습니다.

1.Number. 정수든 소수든 모든 숫자는 Number 유형입니다.
2.문자열. 문자열 유형.
3.부울. 부울 유형(true 또는 false)입니다.
4.null. 이 유형에는 null이라는 하나의 값만 있습니다.
5.정의되지 않음. 이 유형에는 정의되지 않은 값이 하나만 있습니다.

Object

Primitive를 제외하고 JavaScript의 다른 모든 값은 Object입니다. 객체에는 다음과 같은 유형이 있습니다.

1. JSON 키-값 쌍 객체. 예: {"이름":"Bob", "나이":42}.
2. 배열. [1,4,5,7,9] 등.
3. 기능. function(){return true;} 등이 있습니다. JavaScript에는 두 가지 형태의 함수가 있습니다. 1. 실행 가능한 코드 블록 2. 클래스 생성자. 어떤 형태를 취하든 함수는 항상 객체입니다.

JS에는 전역 객체가 제공됩니다

프로그램 작성을 용이하게 하기 위해 JavaScript에는 다음과 같은 7개의 멤버 변수가 있는 전역 객체가 제공됩니다. 객체 유형 :

1.Math. 일련의 복잡한 수학 연산은 Math 개체의 메서드를 호출하여 완료할 수 있습니다.
2.번호. Number 객체의 멤버 변수에 접근하면 몇몇 특별한 값을 얻을 수 있습니다.
3.배열. 배열 객체의 생성자입니다.
4.기능. 함수 객체의 생성자.
5.날짜. 날짜 객체의 생성자입니다.
6.RegExp. 정규식 개체의 생성자입니다.
7.오류. 오류 객체의 생성자입니다.

프로그램 작성 시 위 7개의 변수에 직접 접근이 가능하므로 전역 객체로도 사용할 수 있습니다.

불변 및 변경 가능

프리미티브와 객체는 뚜렷한 특성을 가지고 있습니다. 모든 프리미티브는 변경 불가능하고 모든 객체는 변경 가능합니다. String 유형을 예로 들면, String 메소드를 호출하여 편집한 후 JavaScript는 편집된 결과를 새 String 객체에 저장하고 원본 String 객체는 어떤 식으로든 변경되지 않습니다.

var s = "test";
s.toUpperCase();//return a new String object "TEST"
console.log(s);//"test" -- original String s does not change

실험

JavaScript에서는 typeof 키워드를 사용하여 값의 유형을 얻을 수 있습니다.

숫자 유형 가져오기:

var n = 42;
console.log(typeof n);

프로그램 출력 결과는 숫자입니다.

문자열 유형 가져오기:

var s = "test";
console.log(typeof s);

프로그램 출력 결과는 문자열입니다.

부울 값 유형 가져오기:

var b = true;
console.log(typeof b);

프로그램 출력 결과는 부울입니다.

null 유형 가져오기:

var x = null;
console.log(typeof x);

프로그램은 null을 출력해야 하지만 실제로는 개체를 출력합니다. 그 이유는 null 값에 대해 typeof 연산을 사용할 때 프로그램이 객체를 반환하기 때문입니다. 이는 JavaScript의 첫 번째 버전 이후 존재했던 버그입니다. ECMAScript 표준을 개발하는 동안 이 버그를 수정할지 여부에 대해 몇 가지 흥미로운 논쟁이 있었습니다. 최종 결론은 버그를 수정하면 너무 많은 웹 사이트에 문제가 발생할 수 있다는 것이므로 당분간 수정되지 않았습니다.

정의되지 않은 유형 가져오기:

var y = undefined;
console.log(typeof y);

프로그램 출력 결과가 정의되지 않았습니다.

JSON 개체 유형 가져오기:

var j = {"name":"Bob", "age":42};
console.log(typeof j);

프로그램 출력 결과는 개체입니다.

배열 객체 유형 가져오기:

var a = [2,3,5,7,11];
console.log(typeof a);

프로그램 출력 결과는 객체입니다.

함수 개체의 유형 가져오기:

var f = function(){return true;};
console.log(typeof f);

함수 개체는 특별하며 typeof 연산자는 결과를 함수로 반환합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.