JavaScript에서 일반적으로 사용되는 데이터 유형의 개념 소개

不言
풀어 주다: 2019-03-18 10:51:13
앞으로
2383명이 탐색했습니다.

이 글은 JavaScript에서 일반적으로 사용되는 데이터 유형의 개념을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

프로그래밍 언어에는 모두 데이터 구조가 내장되어 있지만 다양한 프로그래밍 언어의 데이터 구조가 다른 경우가 많습니다. 이 기사에서는 다른 데이터 구조를 구성하는 데 사용할 수 있는 JavaScript 언어의 내장 데이터 구조와 해당 속성을 나열하고 다른 언어와의 차이점을 최대한 설명하려고 합니다.

1. 동적 타이핑

JavaScript는 약한 타입 또는 동적 언어입니다. 즉, 변수 유형을 미리 선언할 필요가 없으며 프로그램 실행 중에 유형이 자동으로 결정됩니다. 이는 또한 동일한 변수를 사용하여 다양한 유형의 데이터를 저장할 수 있음을 의미합니다.

JS의 일반적인 데이터 유형

프로그래밍 언어에는 데이터 구조가 내장되어 있지만 다양한 프로그래밍 언어의 데이터 구조는 ​​​종종 다릅니다. 이 기사에서는 다른 데이터 구조를 구성하는 데 사용할 수 있는 JavaScript 언어의 내장 데이터 구조와 해당 속성을 나열하고 다른 언어와의 차이점을 최대한 설명하려고 합니다.

1. 동적 타이핑

JavaScript는 약한 타입 또는 동적 언어입니다. 즉, 변수 유형을 미리 선언할 필요가 없으며 프로그램 실행 중에 유형이 자동으로 결정됩니다. 이는 동일한 변수를 사용하여 다양한 유형의 데이터를 저장할 수 있다는 의미이기도 합니다.

var foo = 42;    // foo is a Number now
foo = "bar"; // foo is a String now
foo = true;  // foo is a Boolean now
로그인 후 복사

동적 유형 지정 언어의 특징은 유연성이지만 성능이 일부 희생된다는 단점이 있습니다. 동적 유형 언어의 경우 변수 유형은 동적으로 변경될 수 있으며 컴파일 시 확인할 수 없습니다. 따라서 컴파일 시 유형 검사가 상대적으로 약하여 런타임까지 발견할 수 없는 유형 오류가 많이 발생합니다.

2. 데이터 유형

최신 ECMAScript 표준은 7가지 데이터 유형을 정의합니다:

6개 기본 유형:

   Boolean
   Null
   Undefined
   Number
   String
   Symbol (ECMAScript 6 新定义)
로그인 후 복사
Object

3. 원시 값(primitive value)

객체를 제외한 모든 유형은 변경할 수 없습니다. 변경됨). 예를 들어 C 언어와 달리 JavaScript의 문자열은 변경할 수 없습니다. 우리는 이러한 유형의 값을 "원시 값"이라고 부릅니다.

Boolean 유형(Boolean)

Boolean은 true와 false라는 두 가지 값을 가질 수 있는 논리적 개체를 나타냅니다.

Null 유형

Null 유형에는 null이라는 하나의 값만 있습니다. 자세한 내용은 null 및 Null을 참조하세요.

정의되지 않은 유형

값이 할당되지 않은 변수의 기본값은 unundefined입니다. 자세한 내용은 undetermined 및 Undefine을 참조하세요.

숫자 유형

ECMAScript 표준에 따르면 JavaScript에는 IEEE 754 표준을 기반으로 하는 배정밀도 64비트 이진 형식 값(-(263 -1) ~ 263 -1)이라는 숫자 유형이 하나만 있습니다. 정수에 대한 특정 유형을 제공하지 않습니다. 부동 소수점 숫자를 표현할 수 있을 뿐만 아니라 +Infinity, -Infinity 및 NaN(Not-a-Number)과 같은 부호 있는 값도 있습니다.

값이 +/-무한대보다 크거나 작은지 확인하려면 Number.MAX_VALUE 및 Number.MIN_VALUE 상수를 사용할 수 있습니다. 또한 ECMAScript 6에서는 Number.isSafeInteger() 메서드와 Number.MAX_SAFE_INTEGER 및 Number.MIN_SAFE_INTEGER를 사용하여 값이 배정밀도 부동 소수점 숫자 범위 내에 있는지 확인할 수도 있습니다. 이 범위를 벗어나면 JavaScript의 숫자는 더 이상 안전하지 않습니다. 즉, JavaScript 숫자 유형에서는 두 번째 수학 정수만 올바르게 표현할 수 있습니다.

숫자 유형에는 정수가 하나만 있으며 두 가지 방법으로 표현할 수 있습니다. 0은 -0과 +0으로 표현할 수 있습니다("0"은 +0의 약어입니다). 실제로 이는 거의 영향을 미치지 않습니다. 예를 들어 +0 === -0은 참입니다. 하지만 0으로 나눌 때 주의할 점은 다음과 같습니다.

42 / +0; // Infinity
42 / -0; // -Infinity
로그인 후 복사

String type

JavaScript의 문자열 유형은 텍스트 데이터를 나타내는 데 사용됩니다. 이는 16비트 부호 없는 정수 값 집합의 "요소"입니다. 문자열의 각 요소는 문자열에서 특정 위치를 차지합니다. 첫 번째 요소의 인덱스는 0이고 다음 요소의 인덱스는 1입니다. 문자열의 길이는 해당 요소의 개수입니다.

C와 같은 언어와 달리 JavaScript 문자열은 변경할 수 없습니다. 이는 문자열이 일단 생성되면 수정할 수 없음을 의미합니다. 그러나 원래 문자열에 대한 작업을 기반으로 새 문자열을 만드는 것은 가능합니다. 예:

개별 문자를 선택하거나 String.substr()을 사용하여 문자열의 하위 문자열을 가져옵니다. 두 문자열을 연결하려면 연결 연산자(+) 또는 String.concat()를 사용하세요.

코드에 주의하세요. 문자열 유형"!
문자열을 사용하여 복잡한 데이터를 표현할 수 있습니다. 다음은 몇 가지 훌륭한 속성입니다:

복잡한 문자열 문자를 쉽게 연결하고 구성할 수 있음
문자열은 디버그하기 쉽습니다(문자열에 표시되는 경우가 많음)
문자열은 많은 API(입력 필드, 로컬 저장소 값, responseText 사용 시 XMLHttpRequest 등)에서 공통 표준인 경우가 많습니다. 시간 응답) 문자열에만 사용할 수 있습니다.
관례에 따라 문자열은 일반적으로 모든 데이터 구조를 표현하는 데 사용될 수 있습니다. 이는 좋은 생각이 아닙니다. 예를 들어 구분 기호를 사용하면 목록을 모방할 수 있습니다(JavaScript 배열이 더 적합할 수 있음). 불행히도 목록의 요소에 구분 기호를 사용하면 목록이 중단됩니다. 이스케이프 문자 등 이러한 모든 루틴은 사용할 적절한 도구가 없으면 존재하지 않는 유지 관리 부담이 됩니다.

텍스트 데이터, 기호 데이터 표현 시 문자열 사용을 권장합니다. 복잡한 데이터를 표현할 때는 문자열 구문 분석과 적절한 약어를 사용하세요.

Symbol type

Symbol은 ECMAScript 6판에서 새롭게 정의되었습니다. 기호 유형은 고유하고 수정이 불가능하며 Object의 키 값으로 사용될 수도 있습니다(아래 참조). 일부 언어에는 유사한 원자 유형(Atom)이 C 열거 유형에 있는 것으로 생각할 수도 있습니다. 자세한 내용은 기호 및 기호를 참조하세요.

Object Object

Javascript에서 객체는 속성의 모음으로 볼 수 있습니다. 객체 리터럴 구문을 사용하여 객체를 정의하면 속성 집합이 자동으로 초기화됩니다. (즉, var a = "Hello"를 정의하면 a 자체는 a.substring 메소드, a.length 속성 등을 갖게 됩니다. 객체를 정의하면 var a = {}, 그러면 a a.hasOwnProperty 및 a.constructor와 같은 속성과 메서드를 자동으로 갖게 되며 이러한 속성을 늘리거나 줄일 수 있습니다. 속성 값은 복잡한 데이터 구조를 가진 개체를 포함하여 모든 유형이 될 수 있습니다. 속성은 키로 식별되며 해당 키 값은 문자열 또는 기호 값(Symbol)일 수 있습니다.

ECMAScript로 정의된 객체에는 데이터 속성과 접근자 속성이라는 두 가지 유형의 속성이 있습니다.

데이터 속성
데이터 속성은 키-값 쌍이며 각 데이터 속성은 다음과 같은 특성을 갖습니다.

데이터 속성의 특징(데이터 속성의 속성)

O(∩_∩)오하하~ 기본은 아직입니다 매우 중요합니다.



위 내용은 JavaScript에서 일반적으로 사용되는 데이터 유형의 개념 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿