JavaScript 참조 할당에 대한 자세한 설명
JavaScript에는 포인터가 없으며 JavaScript의 참조는 대부분의 다른 인기 프로그래밍 언어에서 일반적으로 볼 수 있는 것과 다르게 작동합니다. JavaScript에서는 한 변수에서 다른 변수로의 참조를 가질 수 없습니다. 또한, 복합 값(예: 개체 또는 배열)만 참조로 할당할 수 있습니다.
다음은 기사 전반에 걸쳐 사용됩니다.
1. 스칼라 – 단일 값 또는 데이터 단위(예: 정수, 부울 값, 문자열)
2 , 복합 - 여러 값으로 구성됨(예: 배열, 개체, 컬렉션)
3. 기본 - 값을 포함하는 항목에 대한 참조가 아닌 직접적인 값입니다.
JavaScript의 스칼라 유형은 스칼라 참조 유형이 있는 다른 언어(예: Ruby)와 달리 기본 유형입니다. JavaScript에서는 스칼라 기본 값은 변경할 수 없지만 복합 값은 변경할 수 있습니다.
요약:
1. 변수에 할당된 값 유형에 따라 값이 값을 저장할지 아니면 참조를 저장할지 결정됩니다.
2. 변수에 값을 할당할 때 스칼라 프리미티브 값(Number, String, Boolean, undefine, null, Symbol)은 값으로 할당되고, 복합값은 참조로 할당됩니다.
3.JavaScript의 참조는 다른 변수나 참조가 아닌 포함된 값만 가리킵니다.
4. JavaScript에서는 스칼라 기본 값은 변경 불가능하고 복합 값은 변경 가능합니다.
값 할당의 빠른 예
아래 코드 조각에서는 변수에 스칼라 프리미티브 값(숫자)을 할당하므로 여기 값으로 할당됩니다. 먼저, 변수 batman이 초기화됩니다. 슈퍼 히어로 변수에 배트맨에 저장된 값이 할당되면 해당 값의 복사본이 실제로 생성되어 슈퍼 히어로 변수에 저장됩니다. 슈퍼 히어로 변수가 수정되면 배트맨 변수는 서로 다른 값을 가리키므로 영향을 받지 않습니다.
var batman = 7; var superman = batman; //通过值来赋值 superman++; console.log(batman); //7 console.log(superman); //8
참조 할당 빠른 예시
다음 코드 조각에서는 복합 값(배열)을 변수에 할당하므로 여기서는 참조로 할당합니다. flash 및 Quicksilver 변수는 동일한 값(공유 값이라고도 함)에 대한 참조입니다. 공유 값이 수정되면 참조는 업데이트된 값을 가리킵니다.
var flash = [8,8,8]; var quicksilver = flash; //通过引用来赋值 quicksilver.push(0); console.log(flash); //[8,8,8,0] console.log(quicksilver); //[8,8,8,0]
새 참조 생성 방법
변수의 합성값을 재할당하면 새로운 참조가 생성됩니다. JavaScript에서는 대부분의 다른 인기 프로그래밍 언어와 달리 참조는 다른 변수나 참조가 아닌 변수에 저장된 값을 가리킵니다.
var firestorm = [3,6,3]; var atom = firestorm; //通过引用来赋值 console.log(firestorm); //[3,6,3] console.log(atom); //[3,6,3] atom = [9,0,9]; //通过值来赋值 (创建新的引用) console.log(firestorm); //[3,6,3] console.log(atom); //[9,0,9]
참조가 함수 인수로 전달되는 경우는 어떻게 되나요? 작업
아래 코드 조각에서 Magneto 변수는 복합 값(배열)이므로 변수 x(함수 매개 변수)에 대한 참조로 할당됩니다.
IIFE에서 호출되는 Array.prototype.push 메소드는 JavaScript 참조를 통해 변수의 값을 변경합니다. 그러나 변수 x를 재할당하면 새 참조가 생성되고 변수 x에 대한 추가 수정은 변수 Magneto에 대한 참조에 영향을 주지 않습니다.
var magneto = [8,4,8]; (function(x) { //IIFE x.push(99); console.log(x); //[8,4,8,99] x = [1,4,1]; //重新赋值变量 (创建一个新的引用) x.push(88); console.log(x); //[1,4,1,88] })(magneto); console.log(magneto); //[8,4,8,99]
JavaScript 참조를 통해 함수 인수로 전달된 복합 변수의 원래 값을 변경하는 방법
해결책은 다음과 같습니다. 참조가 가리키는 기존 복합 값을 수정합니다. 아래 코드 조각에서 변수 wolverine은 복합 값(배열)이고 IIFE에서 호출되며 변수 x(함수 매개변수)에는 참조가 할당됩니다.
Array.prototype.length 속성 값을 0으로 설정하면 빈 배열을 만들 수 있습니다. 따라서 변수 x의 새 값에 대한 JavaScript 참조를 통해 변수 wolverine이 변경됩니다.
var wolverine = [8,7,8]; (function(x) { //IIFE x.length = 0; //创建空数组对象 x.push(1,4,7,2); console.log(x); //[1,4,7,2] })(wolverine); console.log(wolverine); //[1,4,7,2]
값별 할당으로 복합 값을 저장하는 방법
여기서 해결 방법은 복합 값의 수동 복사본을 만드는 것입니다. 그런 다음 복사된 값을 변수에 할당합니다. 따라서 할당된 값에 대한 참조는 원래 값을 가리키지 않습니다.
복합 값(배열 개체)의 (얕은) 복사본을 만들려면 매개 변수를 전달하지 않고 Array.prototype.slice 메서드를 호출하는 것이 좋습니다.
var cisco = [7,4,7]; var zoom = cisco.slice(); //创建浅复制 cisco.push(77,33); console.log(zoom); //[7,4,7] console.log(cisco); //[7,4,7,77,33]
참조로 할당하여 스칼라 이니셜을 저장하는 방법 값
여기서 해결 방법은 스칼라 기본 값을 속성 값으로 복합 값(예: 객체 또는 배열)에 포함하는 것입니다. 따라서 참조로 할당할 수 있습니다. 다음 코드 조각에서는 가변 속도의 스칼라 원시 값이 플래시 객체의 속성으로 설정됩니다. 따라서 IIFE가 호출되면 x(함수 매개변수)에 참조로 할당됩니다.
아아아아위 내용은 JavaScript 참조 할당에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











VMware 가상 머신(VM)과 물리적 시스템 간에 텍스트와 파일을 쉽게 복사하고 붙여넣을 수 있습니다. 이 기능을 사용하면 가상 머신과 호스트 시스템 간에 이미지, 서식이 지정된 텍스트와 서식이 지정되지 않은 텍스트, 이메일 첨부 파일까지 쉽게 전송할 수 있습니다. 이 문서에서는 이 기능을 활성화하는 방법과 데이터, 파일 및 폴더를 복사하는 방법을 보여줍니다. VMware에서 복사/붙여넣기를 활성화하는 방법 VMware는 아래 설명된 대로 데이터, 파일 또는 폴더를 가상 시스템에서 물리적 시스템으로 또는 그 반대로 복사하는 세 가지 방법을 제공합니다. 요소 복사 및 붙여넣기 드래그 앤 드롭 기능 폴더 공유 1 ] 복사 활성화 -VMware 도구를 사용하여 붙여넣기 VMWare 설치 및 게스트 운영 체제가 요구 사항을 충족하는 경우 키보드를 사용할 수 있습니다.

Microsoft Word에서 페이지를 복사하고 서식을 그대로 유지하고 싶으십니까? 특정 문서 레이아웃이나 형식의 복사본을 여러 개 만들려는 경우 Word에서 페이지를 복제하면 시간을 절약하는 유용한 기술이 될 수 있으므로 이는 현명한 아이디어입니다. 이 가이드는 템플릿을 만들거나 문서의 특정 페이지를 복사하는 등 Word에서 페이지를 복사하는 단계별 프로세스를 안내합니다. 이 간단한 지침은 처음부터 시작하지 않고도 페이지를 쉽게 다시 만들 수 있도록 고안되었습니다. Microsoft Word에서 페이지를 복사하는 이유는 무엇입니까? Word에서 페이지를 복사하는 것이 매우 유용한 데에는 다음과 같은 몇 가지 이유가 있습니다. 복사하려는 특정 레이아웃이나 형식의 문서가 있는 경우. 전체 페이지를 처음부터 다시 만드는 것과는 달리

WebSocket 및 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법 소개: 지속적인 기술 개발로 음성 인식 기술은 인공 지능 분야의 중요한 부분이 되었습니다. WebSocket과 JavaScript를 기반으로 한 온라인 음성 인식 시스템은 낮은 대기 시간, 실시간, 크로스 플랫폼이라는 특징을 갖고 있으며 널리 사용되는 솔루션이 되었습니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법을 소개합니다.

WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법 오늘날의 디지털 시대에는 점점 더 많은 기업과 서비스에서 온라인 예약 기능을 제공해야 합니다. 효율적인 실시간 온라인 예약 시스템을 구현하는 것이 중요합니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. WebSocket이란 무엇입니까? WebSocket은 단일 TCP 연결의 전이중 방식입니다.

JavaScript 및 WebSocket을 사용하여 실시간 온라인 주문 시스템을 구현하는 방법 소개: 인터넷의 대중화와 기술의 발전으로 점점 더 많은 레스토랑에서 온라인 주문 서비스를 제공하기 시작했습니다. 실시간 온라인 주문 시스템을 구현하기 위해 JavaScript 및 WebSocket 기술을 사용할 수 있습니다. WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 클라이언트와 서버 간의 실시간 양방향 통신을 실현할 수 있습니다. 실시간 온라인 주문 시스템에서는 사용자가 요리를 선택하고 주문을 하면

JavaScript 및 WebSocket: 효율적인 실시간 일기 예보 시스템 구축 소개: 오늘날 일기 예보의 정확성은 일상 생활과 의사 결정에 매우 중요합니다. 기술이 발전함에 따라 우리는 날씨 데이터를 실시간으로 획득함으로써 보다 정확하고 신뢰할 수 있는 일기예보를 제공할 수 있습니다. 이 기사에서는 JavaScript 및 WebSocket 기술을 사용하여 효율적인 실시간 일기 예보 시스템을 구축하는 방법을 알아봅니다. 이 문서에서는 특정 코드 예제를 통해 구현 프로세스를 보여줍니다. 우리

이 문서에서는 Windows 터미널에서 선택 항목을 클립보드에 자동 복사하는 기능을 활성화하거나 비활성화하는 방법을 보여줍니다. Windows 터미널은 Microsoft가 특별히 Windows 11/10용으로 개발한 다중 탭 터미널 에뮬레이터로 기존 명령 프롬프트를 대체합니다. 명령 프롬프트, PowerShell, WSL, Azure 등과 같은 애플리케이션 실행을 지원합니다. 터미널에서 작업할 때 사용자는 명령과 출력을 복사해야 하는 경우가 많지만 터미널은 기본적으로 선택 작업 복사를 지원하지 않습니다. 이 문제를 해결하는 방법을 알아보려면 계속 읽어보세요. 터미널에서 선택 항목을 캐시로 자동 복사하는 방법을 활성화하거나 비활성화하는 방법은 무엇입니까? 터미널 클립보드에 선택 항목의 자동 복사를 활성화하거나 비활성화하는 방법은 다음과 같습니다. 터미널 응용 프로그램을 열고 위를 클릭합니다.
