이 기사는 JavaScript의 객체 구조화 사용 분석에 대한 관련 지식을 제공합니다.
ES6(ES2015) 릴리스에서는 JavaScript에 객체 속성을 처리하는 더 편리하고 빠른 방법이 제공됩니다. 이 메커니즘을 구조 분해(구조 분해 할당이라고도 함)라고 합니다. 그런데 정말 사용하게 될까요? 다양한 시나리오에서 구조 분해 할당의 사용법을 정말로 이해하고 있나요?
구조 분해를 사용하여 객체에서 값 가져오기
객체 분해의 가장 기본적인 사용은 객체에서 속성 키 값을 검색하는 것입니다.
예를 들어, 이름과 나이라는 두 가지 속성으로 객체를 정의합니다
const User = { name: '搞前端的半夏', age: 18 }
전통적으로 점(.) 표기법이나 아래 첨자([]) 표기법을 사용하여 객체에서 값을 검색했습니다. 다음 코드 조각은 객체의 값 ID와 이름을 검색하기 위해 점 표기법을 사용하여 객체에서 값을 검색하는 예를 보여줍니다. Employee
객체의 특정 속성 값을 가져오기 전에는 일반적으로 또는 []를 사용했습니다.
const name = User['name']; const age = User.age;
물론 이 두 가지 방법은 현재 상황에서는 문제가 없지만, 사용자 속성이 너무 많으면 계속 복사해서 붙여넣어야 하므로 반복되는 코드가 많아집니다.
구조 할당을 통해 값을 빠르게 얻을 수 있습니다. 예를 들어 객체의 키 이름을 사용하여 변수를 만들고 객체의 값을 동일한 키에 할당합니다. 이렇게 하면 속성이 아무리 많아도 속성 이름만 지정하면 되므로 반복되는 코드도 많이 줄어듭니다.
const { name, age } = User;
구조화를 사용하여 중첩된 개체에서 값 가져오기
위의 예에서 User는 단순한 단일 레이어 개체일 뿐이며 일상적인 개발에서도 중첩된 개체를 접하게 되므로 구조 할당을 사용하여 어떻게 검색할 수 있습니까? 중첩된 개체의 값입니다. 다음으로 사용자 개체를 재정의하고 사용자의 전화번호가 포함된 이 개체에 연락처 속성을 추가합니다. .
const User = { name: '搞前端的半夏', age: '18', contact:{ phone:'110', } }
.을 사용하여 전화 값으로 앞뒤로 이동하면 2배가 걸립니다.
const phone = User.contact.phone;
구조 분해 할당을 사용하면 다음과 같습니다.
const {contact:{phone}}=User consosle.log(phone) // 输出10.
몇 단계의 중첩이라도 이 글을 따라가는 한, 확실히 구체적인 가치를 얻게 될 것입니다.
객체 구조 분해를 사용하여 새 변수 및 기본값 정의
기본값
물론 일상적인 개발 과정에서 우리는 많은 극단적인 상황에 직면할 수 있습니다.
예를 들어 백엔드에서 전달된 객체가 누락될 수 있습니다. 일부 필드
const User = { name: '搞前端的半夏', }
또는 속성에는 특정 값이 없습니다.
const User = { name: '搞前端的半夏', age: '' }
구조 분해 할당을 사용하는 경우: age 속성이 존재하는지 여부에 관계없이 age 변수가 생성됩니다.
const { name, age } = employee;
User.age에 특정 값이 없으면
const { name, age=18 } = employee;
를 사용하여 age에 기본값을 지정할 수 있습니다.
새 변수
잠깐만요. 해체 섹션에는 더 많은 마법이 전시되어 있습니다! 완전히 새로운 변수를 생성하고 객체의 속성값을 사용하여 계산된 값을 할당하는 방법은 무엇입니까? 복잡하게 들리나요?
User 속성의 합산된 값을 출력하고 싶다면 어떻게 해야 할까요?
const { name,age,detail = `${name} 今年 ${age} `} = User ; console.log(detail); // 输出:搞前端的半夏 今年 18
JavaScript 객체 구조 분해 별칭 사용
JavaScript 객체 구조 분해에서는 구조 분해 변수 별칭의 이름을 지정할 수 있습니다. 변수 이름 충돌 가능성을 줄이는 데 매우 편리합니다.
const User = { name: '搞前端的半夏', age: '' }
age 속성의 값을 얻기 위해 구조 분해 할당을 사용하고 싶지만 age 변수가 이미 코드에 있다고 가정해 보겠습니다. 이때 구조에 별칭을 정의해야 합니다.
const { age: userAge } = User; console.log(userAge); //搞前端的半夏
그리고 age를 사용하면 오류가 보고됩니다.
console.log(age);
객체 구조 분해를 사용하여 동적 이름 속성 처리
API 응답 데이터를 JavaScript 객체로 처리하는 경우가 많습니다. 이러한 객체에는 동적 데이터가 포함될 수 있으므로 클라이언트는 속성 키 이름을 미리 알지 못할 수도 있습니다.
const User = { name: '搞前端的半夏', age: '' }
키를 매개변수로 전달하면 User 개체의 속성 값을 반환하는 함수를 작성할 수 있습니다. 여기서는 매개변수를 허용하기 위해 []를 사용하고, js는 이 키 쌍을 기반으로 객체에서 매개변수를 검색합니다!
function getPropertyValue(key) { const { [key]: returnValue } = User; return returnValue; }
const contact = getPropertyValue('contact'); const name = getPropertyValue('name'); console.log(contact, name); // 空 搞前端的半夏
함수 매개변수 및 반환 값의 객체 구조 분해
할당 분해 및 매개변수 전달
객체 분해를 사용하여 속성 값을 함수에 매개변수로 전달합니다.
const User = { name: '搞前端的半夏', age: 18 }
name 이제 브라우저 콘솔에 로그인하기 위해 및 속성 값을 사용하여 메시지 부서를 생성하는 간단한 함수를 만들어 보겠습니다.
function consoleLogUser({name, age}) { console.log(`${name} 今年 ${age}`); }
값을 함수 인수로 직접 전달하고 내부적으로 사용합니다.
consoleLogUser(User); // 搞前端的半夏 今年 18
소멸자 객체 반환 값
객체 소멸자의 또 다른 용도가 있습니다. 함수가 객체를 반환하는 경우 값을 변수로 직접 분해할 수 있습니다. 객체를 반환하는 함수를 만들어 보겠습니다.
function getUser() { return { 'name': '搞前端的半夏', 'age': 18 } }
const { age } = getUser(); console.log(age); // 18
루프에서 객체 구조 분해 사용
우리가 논의할 마지막(그러나 중요한) 사용법은 루프 구조 분해입니다. 직원 개체 집합을 고려해 보겠습니다. 우리는 배열을 반복하고 각 직원 개체의 속성 값을 사용하려고 합니다.
const User= [ { 'name': '爱分享的半夏', 'age': 16 }, { 'name': '搞前端的半夏', 'age': 18 }, { 'name': '敲代码的半夏', 'age': 20 } ];
for-of 루프를 사용하여 User 개체를 반복한 다음 개체 구조 분해 할당 구문을 사용하여 세부 정보를 검색할 수 있습니다.
for(let {name, age} of employees) { console.log(`${name} 今年${age}岁!!!`); }
관련 추천: javascript 학습 튜토리얼
위 내용은 JavaScript 객체 구조분해 사용 분석(상세 예시)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

JavaScript는 브라우저 및 Node.js 환경에서 실행되며 JavaScript 엔진을 사용하여 코드를 구문 분석하고 실행합니다. 1) 구문 분석 단계에서 초록 구문 트리 (AST)를 생성합니다. 2) 컴파일 단계에서 AST를 바이트 코드 또는 기계 코드로 변환합니다. 3) 실행 단계에서 컴파일 된 코드를 실행하십시오.

Python 및 JavaScript의 미래 추세에는 다음이 포함됩니다. 1. Python은 과학 컴퓨팅 분야에서의 위치를 통합하고 AI, 2. JavaScript는 웹 기술의 개발을 촉진하고, 3. 교차 플랫폼 개발이 핫한 주제가되고 4. 성능 최적화가 중점을 둘 것입니다. 둘 다 해당 분야에서 응용 프로그램 시나리오를 계속 확장하고 성능이 더 많은 혁신을 일으킬 것입니다.

개발 환경에서 Python과 JavaScript의 선택이 모두 중요합니다. 1) Python의 개발 환경에는 Pycharm, Jupyternotebook 및 Anaconda가 포함되어 있으며 데이터 과학 및 빠른 프로토 타이핑에 적합합니다. 2) JavaScript의 개발 환경에는 Node.js, VScode 및 Webpack이 포함되어 있으며 프론트 엔드 및 백엔드 개발에 적합합니다. 프로젝트 요구에 따라 올바른 도구를 선택하면 개발 효율성과 프로젝트 성공률이 향상 될 수 있습니다.

예, JavaScript의 엔진 코어는 C로 작성되었습니다. 1) C 언어는 효율적인 성능과 기본 제어를 제공하며, 이는 JavaScript 엔진 개발에 적합합니다. 2) V8 엔진을 예를 들어, 핵심은 C로 작성되며 C의 효율성 및 객체 지향적 특성을 결합하여 C로 작성됩니다.

JavaScript는 웹 페이지의 상호 작용과 역학을 향상시키기 때문에 현대 웹 사이트의 핵심입니다. 1) 페이지를 새로 고치지 않고 콘텐츠를 변경할 수 있습니다. 2) Domapi를 통해 웹 페이지 조작, 3) 애니메이션 및 드래그 앤 드롭과 같은 복잡한 대화식 효과를 지원합니다. 4) 성능 및 모범 사례를 최적화하여 사용자 경험을 향상시킵니다.

C 및 JavaScript는 WebAssembly를 통한 상호 운용성을 달성합니다. 1) C 코드는 WebAssembly 모듈로 컴파일되어 컴퓨팅 전력을 향상시키기 위해 JavaScript 환경에 도입됩니다. 2) 게임 개발에서 C는 물리 엔진 및 그래픽 렌더링을 처리하며 JavaScript는 게임 로직 및 사용자 인터페이스를 담당합니다.

JavaScript는 웹 사이트, 모바일 응용 프로그램, 데스크탑 응용 프로그램 및 서버 측 프로그래밍에서 널리 사용됩니다. 1) 웹 사이트 개발에서 JavaScript는 HTML 및 CSS와 함께 DOM을 운영하여 동적 효과를 달성하고 jQuery 및 React와 같은 프레임 워크를 지원합니다. 2) 반응 및 이온 성을 통해 JavaScript는 크로스 플랫폼 모바일 애플리케이션을 개발하는 데 사용됩니다. 3) 전자 프레임 워크를 사용하면 JavaScript가 데스크탑 애플리케이션을 구축 할 수 있습니다. 4) node.js는 JavaScript가 서버 측에서 실행되도록하고 동시 요청이 높은 높은 요청을 지원합니다.

Python은 데이터 과학 및 자동화에 더 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 더 적합합니다. 1. Python은 데이터 처리 및 모델링을 위해 Numpy 및 Pandas와 같은 라이브러리를 사용하여 데이터 과학 및 기계 학습에서 잘 수행됩니다. 2. 파이썬은 간결하고 자동화 및 스크립팅이 효율적입니다. 3. JavaScript는 프론트 엔드 개발에 없어서는 안될 것이며 동적 웹 페이지 및 단일 페이지 응용 프로그램을 구축하는 데 사용됩니다. 4. JavaScript는 Node.js를 통해 백엔드 개발에 역할을하며 전체 스택 개발을 지원합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

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

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

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전
