> 웹 프론트엔드 > JS 튜토리얼 > javascript_javascript 기술의 다섯 가지 기본 데이터 유형

javascript_javascript 기술의 다섯 가지 기본 데이터 유형

WBOY
풀어 주다: 2016-05-16 15:42:33
원래의
1425명이 탐색했습니다.

[0] 5가지 데이터 유형:

[0.1]기본 데이터 유형: 정의되지 않음, Null, 부울, 숫자, 문자열

           [0.1.1] 기본 유형 값은 단순 데이터 세그먼트를 의미하며, 5가지 기본 유형은 변수에 저장된 실제 값을 조작할 수 있기 때문에 값으로 접근합니다

                                                                  [0.1.2] 기본 유형 값은 메모리에서 고정된 크기의 공간을 차지하며 스택 메모리에 저장됩니다. 한 변수에서 다른 변수로 기본 유형의 값을 복사하면 해당 값의 복사본이 생성됩니다.

[0.1.3] 기본 유형 값에 속성을 추가할 수 없음 ​​

[0.2] 참조 데이터 유형: 객체

[0.2.1] 참조형 값은 여러 개의 값으로 구성될 수 있는 객체를 의미합니다. Node.js는 메모리 위치에 직접 접근하는 것을 허용하지 않습니다. 즉, Operation 객체의 메모리 공간에 직접 접근할 수 없습니다. 객체를 조작할 때 실제로는 실제 객체가 아닌 객체에 대한 참조를 조작하는 것입니다.

                                                                                                                                                                        참조 유형 값을 포함하는 변수에는 실제로 개체 자체가 아니라 개체에 대한 포인터가 포함되어 있는 개체가 있을 수 있습니다. 한 변수에서 다른 변수로 참조 유형 값을 복사하면 실제로 포인터가 복사되므로 두 변수는 궁극적으로 동일한 개체를 가리킵니다.

                                                  [0.2.3] 참조 유형 값에 대해 속성 및 메서드를 추가할 수 있으며 해당 속성 및 메서드를 변경 및 삭제할 수도 있습니다

[1]정의되지 않음

[1.1] 정의되지 않은 유형에는 정의되지 않은 값이 하나만 있습니다.

[1.2]var a <=> var a = 정의되지 않음;

[1.3] 선언되지 않은 변수의 경우 데이터 유형을 감지하기 위해 typeof 연산자를 사용하는 작업 하나만 수행할 수 있습니다. [단, 엄격 모드에서는 오류가 발생합니다]

[1.4] 출연 장면 :

[1.4. 1] 미할당 변수 선언

                                                                                                                         객체의 존재하지 않는 속성 가져오기

         [1.4.3] 반환값이 없는 함수의 실행 결과

         [1.4.4] 함수의 매개변수는

에 전달되지 않습니다.

[1.4.5]void(표현식)

[1.5]유형 변환

부울(정의되지 않음):false

숫자(정의되지 않음):NaN

문자열(정의되지 않음):'정의되지 않음'

[2]무효

[2.1] Null 유형에는 논리적 관점에서 null인 값이 하나만 있습니다.

[2.2] 정의된 변수를 객체 저장에 사용할 경우 변수를 null로 초기화하는 것이 가장 좋습니다

[2.3] 실제로 정의되지 않은 값은 null 값에서 파생되므로 정의되지 않음 == null

[2.4] 발생 시나리오 : 객체가 존재하지 않는 경우

[2.5]유형 변환

불리언(null) : false

숫자(null):0

문자열(null):'null'

[참고 1] null은 null 객체 포인터, []는 빈 배열, {}는 빈 객체, 세 개는 다릅니다

[참고 2]null은 사용자 정의 속성을 추가할 수 없습니다

[3]부울

[3.1] Boolean 유형에는 true와 false의 두 가지 값만 있습니다.

[3.2] 출연 장면 :

                                                              [3.2.1] 조건문을 사용하면 은둔 유형 변환이 시스템에 의해 수행됩니다.

[3.2.2]리터럴 또는 변수 정의

[3.3]유형 변환

숫자(true): 1 || 숫자(false) : 0

문자열(true):'true' || 문자열(false):'false'

[3.4]부울()

부울(정의되지 않음):false

부울(null):false

부울(비어 있지 않은 객체에는 빈 배열 [] 및 빈 객체 {}가 포함됨): true

부울(0이 아님): true || 부울(0 및 NaN):false

부울(공백을 포함하는 비어 있지 않은 문자열):true || Boolean(''):false

[참고] true가 반드시 1이 되는 것은 아니며, false가 반드시 0이 되는 것은 아닙니다

[4]숫자

[4.1] Number 유형은 IEEE754 형식을 사용하여 정수 및 부동 소수점 값을 나타냅니다.

[참고] -0 값을 사용하여 숫자로 변환할 수 있습니다

[4.2] 세 가지 리터럴 형식은 10진수, 8진수, 16진수

                                                                                                                                 첫 번째 숫자는 0이어야 하며 그 뒤에는 8진수 시퀀스(0-7)가 와야 합니다. 리터럴 값의 값이 범위를 초과하면 선행 0이 무시되고 다음 값은 10진수로 구문 분석됩니다.

[4.2.2] 8진수 리터럴은 엄격 모드에서 유효하지 않으며 js에서 오류가 발생하게 됩니다

[4.2.3] 16진수 리터럴 값의 처음 두 자리는 0x여야 하고 그 뒤에 일련의 16진수 숫자가 와야 하며 문자는 대문자 또는 소문자일 수 있습니다

                                                                                                                                                                                               16진법 리터럴 값의 값이 범위를 벗어난 경우 오류가 보고됩니다

         [4.2.5] 산술 계산을 수행할 때 8진수와 16진수로 표현된 모든 값은 결국 10진수 값으로 변환됩니다 ​​

[4.3] 수치 표현:

[4.3.1] 양수 0과 음수 0은 js에 저장될 수 있으며 동일한 것으로 간주됩니다

[4.3.2] 부동 소수점 값: 값에는 소수점이 포함되어야 하며, 소수점 뒤에는 최소 한 자릿수가 있어야 합니다.

                 [4.3.2.1] 부동 소수점 값은 정수 값을 저장하는 데 두 배의 메모리 공간이 필요하므로 js는 숫자가 없는 경우 부동 소수점 값을 정수 값으로 변환합니다. 또는 소수점 이하 부동 소수점 값으로 정수를 나타내며, 이 값은 정수값으로 저장됩니다.

[4.3.2.2] 부동 소수점 값의 가장 높은 정밀도는 소수점 17자리입니다.

                                   [4.3.2.3] 매우 크거나 매우 작은 숫자의 경우 과학 표기법 e로 표현되는 부동 소수점 값으로 표현할 수 있습니다.

              [4.3.2.4] js는 기본적으로 소수점 이하 0이 6개 이상인 부동 소수점 값을 e 표기법으로 표현된 값으로 변환합니다.

                                                                          [4.3.2.5] IEEE754 수치 값을 기반으로 한 부동 소수점 계산의 일반적인 문제는 다음과 같습니다. 반올림 오류. 예: 0.1 0.2 === 0.3(15 0)4

[4.3.3] js의 숫자 범위는 Number.MIN_VALUE(5e-324) —— Number.MAX_VALUE(1.7976931348623157e 308)

[4.3.3.1] 양수의 범위를 초과하면 Infinity(양의 무한대)가 출력되고, 음수의 범위를 초과하면 -Infinity(음수 finity)가 출력됩니다

                               [4.3.3.2] - 인피니티는 수치 계산에 참여할 수 없습니다.

[4.3.3.3] number.max_value 1! = 무한대 컴퓨터는 많아야 52비트 디지털 자릿수까지 저장하기 때문에 1,000 이상은 저장할 수 없고, 정확성이 사라진 지 오래, 즉 소수 위치는 모두 0이므로 덧셈은 변경되지 않습니다. >

            [4.3.3.4]Number.MIN_VALUE - 1 != -무한대, 같은 이유이므로 결과는 -1입니다

           [4.3.3.5] 암시적 유형 변환 Number()를 포함하여 isFinite()를 사용하여 값이 유한한지 여부를 확인할 수 있습니다

[4.3.3.6]isFinite(NaN) //false

[4.3.4]NaN

             [4.3.4.1]NaN은 NaN 자체를 포함한 어떤 값과도 동일하지 않습니다

              [4.3.4.2] NaN과 관련된 모든 작업은 NaN을 반환합니다

            [4.3.4.3] 암시적 유형 변환 Number()를 포함하여 숫자가 NaN인지 여부를 확인하는 isNaN()

[4.4] 숫자 변환: Number()는 모든 유형에 사용할 수 있으며,parseInt() 및 parseFloat는 특히 문자열을 숫자로 변환하는 데 사용됩니다.

[참고 1]Number(),parseInt(),parseFloat()는 다양한 진수의 숫자를 허용하지만 숫자가 포함된 문자열에는 적용할 수 없습니다

[참고 2] Number(),parseInt(),parseFloat()의 숫자가 1.2이면 오류가 보고되지만 문자열이 '1.2.'이면 오류가 보고되지 않습니다

[4.4.1]숫자()

숫자(true):1 || 숫자(false):0

숫자(다양한 진수의 숫자) : 1.0이나 1, 01 등 연산 후의 소수가 1로 출력됩니다.

숫자(정의되지 않음):NaN

숫자(null):0

숫자(문자열):

숫자(10진수와 16진수만 포함하는 문자열) : 연산 후의 10진수

[참고] 8번 증명은 문자열에서 인식되지 않으며, 소수점 이하 자릿수 처리

숫자('' 및 ' '):0

숫자(다른 경우에는 문자열): NaN

번호(개체):

숫자([] 및 [0] 및 [-0]):0

Number([number]) : 연산 후의 숫자

숫자([1,2] 및 {} 및 기타 객체):NaN

[4.4.2]parseInt(): 문자열을 변환할 때 공백이 아닌 첫 번째 문자를 찾을 때까지 문자열 앞의 공백은 무시됩니다. 첫 번째 문자가 숫자나 음수 기호가 아닌 경우,parseInt()는 NaN을 반환합니다. 그렇다면 구문 분석이 완료되거나 숫자가 아닌 문자가 발견될 때까지 구문 분석이 계속됩니다.

              [4.4.2.1]parseInt()는 다양한 진수의 정수를 식별할 수 있지만 8진수 리터럴 문자열을 구문 분석할 때 ECMAScript3은 8진수를 구문 분석하지만 ECMAScript5에는 8진수를 구문 분석하는 기능이 없습니다.

                      [4.4.2.2]parseInt() 함수는 다음과 같이 기본 번호를 나타내는 두 번째 매개 변수를 제공합니다.parseInt('123', 16 또는 10 또는 2)

                                     [4.4.2.3]parseInt(다양한 진수의 숫자): 1.0이나 1과 같은 연산 후의 십진수, 01은 1로 출력

                                                                                                             >

          [4.4.3]parseFloat():parseInt()와 유사하며 공백이 아닌 첫 번째 문자

가 발견될 때까지 문자열 앞의 공백을 무시합니다.

                   [4.4.3.1] parseFloat()는 십진수 문자열만 구문 분석할 수 있습니다.

                     [4.4.3.2]parseFloat(다양한 진수의 숫자): 1.0이나 1과 같은 연산 후의 십진수. 또는 01은 1로 출력됩니다.

[5]문자열: 작은따옴표나 큰따옴표로 묶인 문자 시퀀스입니다. 문자열의 길이는 길이 속성에 액세스하여 얻을 수 있습니다.

[5.1] 문자 리터럴, 이스케이프 시퀀스라고도 함

n 줄바꿈

t 표

비스페이스

r Enter

f 급지

\ 슬래시

        ' 작은따옴표

“ 큰따옴표

xnn은 16진수 nn(n은 0-f)의 문자를 나타냅니다. 예를 들어 x41은 'A'를 나타냅니다.

unnnn은 16진수 nnnn(n은 0-f)의 유니코드 문자를 나타냅니다. 예를 들어 u03a3은 그리스 문자 ε

을 나타냅니다.

[5.2] ECMAScript의 문자열은 불변입니다

[5.3] 문자열 연결을 위해서는 먼저 새 문자열을 생성한 다음, 연결해야 하는 두 문자열로 새 문자열을 채우고, 마지막으로 원래 문자열을 삭제해야 합니다. 이 프로세스는 백그라운드에서 발생하며 일부 구형 브라우저(IE6)에서 문자열 접합이 느린 이유이기도 하지만 이 비효율성 문제는 이후 해결되었습니다

[5.4] 문자열 변환

[5.4.1]toString()

Null 및 Undefine에는 이 방법이 없습니다

Boolean, Object, String 에는 이 방법이 있습니다

숫자 이 방법을 사용하여 var num = 10;num.toString(2);//1010

과 같은 기본 숫자 2, 8, 10, 16을 전달합니다.

그러나 10.toString(2)은 숫자 뒤에 식별자가 올 수 없기 때문에 오류를 보고합니다

[5.4.2]문자열()

toString() 메서드가 있으므로 toString() 메서드를 사용하세요

문자열(널);//'널'

문자열(정의되지 않음);//'정의되지 않음'

           [5.4.3] 값을 문자열로 변환하려면 더하기 연산자를 사용하여 빈 문자열 ''에 추가하면 됩니다.

  [5.4.4] 배열의 항목 값이 null이거나 정의되지 않은 경우 값은 Join(), toLocaleString(), toString() 및 valueOf(에서 반환된 결과에서 빈 문자열이 됩니다. ) 방법은

을 의미합니다.

마지막으로 이러한 다섯 가지 기본 유형의 차이점을 설명하기 위해 간단한 예를 들어보겠습니다

var testString = "Hello"; 
var testBoobean = true; 
var testUndefined = undefined; 
var testUndefined1; 
var testNull = null; 
var testObject = {a:1}; 
var testFunction = function(){return;}; 
 
alert(testString);//"string" 
alert(testBoobean);//"boolean" 
alert(testUndefined);//"undefined" 
alert(testUndefined1);//"undefined" 
alert(testUndefined2);//"undefined" 
alert(testNull);//"object" 
alert(testObject);//"object" 
alert(testFunction);//"function"
로그인 후 복사

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