이전 글에서, 우리는 변수는 다음과 같은 데이터 유형이 도입 :
-
기본 데이터 형식 (값 형식) : 문자열 문자열, 숫자 값, 부울 부울 값, 널 널 (null), 정의되지 않은 정의되지 않음.
-
참조 데이터 유형 (참조 형) : Object 객체.
본 논문에서는 상세한 설명에 대해서는,이 두 가지에 초점을 맞추었다. 예에서 살펴 보자.
기본 데이터 유형은 예를 들어 :
23 = VAR;
var에 B = A,
++;
CONSOLE.LOG (A); // 인쇄 결과 : 24
CONSOLE.LOG (B); // 결과를 출력 : 23
상기 코드 : 즉, B는 동일하므로 a 및 b가, 기본 데이터 타입 후, 다음의 값을 변경하고, B 값 FOUND는 변경되지 않는다.
그러나 참조 데이터 유형에서, 다른, 살펴 보겠습니다.
예는 데이터 유형을 참조 :
새로운 새로운 객체으로 obj1 = VAR ();
obj1.name = 'smyh';
// make가 obj2보다 OBJ1 동일
VAR obj2보다 =으로 obj1;
//으로 obj1의 이름 속성 변경
obj1.name = 'VAE를';
을 console.log (obj1.name를) ; // 결과 인쇄 : VAE의
CONSOLE.LOG (obj2.name를); // 결과를 인쇄 : VAE를
상기 코드 : OBJ1 후 obj2보다 동등 OBJ1 obj2보다가, 그 값이 obj1.name obj2.name 값이 또한 변경되도록 수정 발견, 참조 데이터 유형.
상기 예로부터, 반영 기본 데이터 타입 과 참조 데이터 유형이있다 분화 에있다.
결국 그게 무슨 차이가 있다고? 우리는 더 아래로 본다.
스택 메모리와 힙 메모리
우리는 첫 번째 문장을 기억 : JS에서, 모든 변수는 스택 메모리에 저장됩니다.
그런 다음 다음과 같은 차이점을 살펴.
기본 데이터 타입 :
스택 메모리에 직접 저장 기본 데이터 타입의 값 . 가치와 독립적 인 존재의 가치 사이에 변수가 다른 변수에 영향을주지 않습니다 수정합니다.
참조 데이터 유형 :
객체는 스택 메모리에 저장됩니다 . 각각의 새로운 객체를 생성, 상기 힙 메모리에 새로운 공간이 개방되며, 변수는 객체의 메모리 어드레스 보유 ( 개체 참조 ) . 두 변수는 변수를 통해 변경된 속성이 다른 영향을받을 것 같은 객체 참조를 보유하는 경우.