이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 8720|회답: 1

[JavaScript] js에서의 기본 타입 및 참조 타입

[링크 복사]
게시됨 2018. 9. 25. 오후 4:05:14 | | |
기본 데이터 유형:변수에 저장된 실제 값을 조작할 수 있는 값 접근(value access)입니다. 기본 타입 값은 단순한 데이터 세그먼트를 의미합니다.

기본 데이터 유형은 다섯 가지입니다:Undefined, Null, String, Number, Boolean.

인용 유형:객체의 변수를 복사할 때는 조작 대상이 객체의 참조이지만, 객체에 속성을 추가할 때는 실제 객체가 조작됩니다. 참조 타입 값은 여러 값으로 구성될 수 있는 객체입니다.

인용에는 여러 가지 유형이 있습니다:객체, 배열, RegExp, Date, 함수, 특수 기본 래퍼 유형(String, Number, Boolean), 그리고 단일 내장 객체(Global, Math)가 포함됩니다.

기본 타입 값과 참조 타입 값의 차이에 대해:

(1)참조 타입 값은 속성과 메서드를 추가하지만, 기본 타입 값은 그렇지 않습니다

(2)변수 값을 복사할 때, 기본 타입은 변수 객체에 새 값을 생성하여 새 변수로 복사합니다. 그 이후로,두 변수의 어떤 작용도 다른 변수에 영향을 주지 않는다; 참조 타입은 변수 객체에 저장된 값의 복사본을 새 변수로 복사하는 것이지만, 두 변수의 값은 힙에 저장된 객체를 가리키며, 즉 실제로 동일한 객체를 참조합니다.한 변수를 바꾸면 다른 변수에 영향을 미칩니다

배열을 예로 들어 타입 값을 참조하는 방법:

매개변수 패스: 값으로 전달하며, 함수 외부의 값을 함수 내부의 매개변수(국소 변수)로 복사합니다. 로컬 변수를 조작하면 지역 변수의 변화가 함수 외부에 반영되지만, 함수 외부의 값에는 영향을 주지 않습니다.

물론, 객체를 사용할 때 이해하기 어려울 수 있습니다:

분명히 매개변수는 값으로 전달되는데, 생성된 p 인스턴스에 setName()에 이름 속성도 추가될 수 있는 이유는 무엇인가요?

obj와 p가 동일한 객체를 참조하기 때문에, obj는 값으로 전달되더라도 참조를 통해 동일한 객체에 접근합니다. 아래 예시를 참고해 명확히 이해할 수 있습니다.

함수 내에서 obj 객체를 다시 작성하세요. 이 시점에서 obj 객체는 로컬 객체를 참조하고 있고, 외부 p가 여전히 원래 참조이므로 변경되지 않습니다.

분석의 종류:

typeof:确定变量是字符串、数值、布尔值还是undefined的最佳工具。

인스턴스오브: 객체 타입인지 판단합니다.







이전의:mysql Binlog에서 가장 쉽게 밟을 수 있는 구덩이입니다
다음:JS는 두 배열의 차이를 비교합니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com