JavaScript 웹 구성 요소는 무엇입니까?
웹 구성 요소를 사용하면 프레임 워크없이 기본 브라우저 API를 사용하여 재사용 가능한 사용자 정의 HTML 요소를 활성화합니다. 1. 사용자 정의 요소는
JavaScript 웹 구성 요소는 Vanilla JavaScript, HTML 및 CSS 만 사용하는 캡슐화 된 기능을 갖춘 재사용 가능한 사용자 정의 HTML 요소를 생성 할 수있는 웹 플랫폼 API 세트입니다. 현대식 브라우저에서 기본적으로 지원되므로 구성 요소 기반 UI를 구축하기 위해 React 또는 VUE와 같은 프레임 워크가 필요하지 않습니다.

웹 구성 요소는 4 가지 주요 웹 표준에 구축됩니다.
1. 사용자 정의 요소
이 API를 사용하면 자신의 HTML 태그 (예 : <my-button></my-button>
또는 <user-card></user-card>
)를 정의하고 JavaScript 클래스와 연결할 수 있습니다. 내장 요소를 확장하거나 완전히 새로운 요소를 만들 수 있습니다.

Class MyButton 확장 htmlelement { ConnectedCallback () { this.innerhtml =`<button> me </button>`; } } CustomElements.define ( 'My-Button', MyButton);
이제 html의 <my-button></my-button>
사용할 수 있습니다.
2. 그림자 돔
Shadow Dom은 스타일과 구조에 대한 캡슐화를 제공합니다. 숨겨진 고립 된 DOM 트리를 요소에 부착 할 수 있으므로 스타일과 마크 업 내부는 누출되지 않으며 외부 스타일이 새지 않습니다.

ConnectedCallback () { const shadow = this.attachshadow ({mode : 'open'}); Shadow.innerhtml =` <스타일> 버튼 {배경 : 파란색; 색상 : 흰색; } </스타일> <버튼> 고립 된 버튼 </button> `;; }
이것은 구성 요소의 스타일이 나머지 페이지와 충돌하지 않음을 의미합니다.
3. html 템플릿 ( <template>
및 <slot>
)
<template>
요소를 사용하면 JavaScript가 복제 될 때까지 렌더링하지 않는 재사용 가능한 마크 업을 정의 할 수 있습니다. <slot>
요소를 사용하면 React의 "어린이"와 같은 컨텐츠 투영이 가능하므로 컨텐츠를 구성 요소로 전달할 수 있습니다.
<Template id = "사용자 카드-템플릿"> <div class = "card"> <슬롯 이름 = "이름"> 기본 이름 </slot> <슬롯 이름 = "이메일"> 이메일 없음 </slot> </div> </템플릿>
그런 다음 지명 된 슬롯을 사용하여 동적 컨텐츠를 삽입 할 수 있습니다.
4. ES 모듈 (조직)
웹 구성 요소 사양 자체의 일부는 아니지만 구성 요소는 일반적으로 JavaScript 모듈 ( .mjs
또는 Standard .js
with type="module"
)에 정의되므로 프로젝트에서 구성 요소를로드 및 재사용하는 데 도움이됩니다.
<script type = "module"src = "components/my-button.js"> </script>
웹 구성 요소를 사용하는 이유는 무엇입니까?
- 프레임 워크-공연 : 그들은 React, Vue, Angular 또는 Framework가 전혀 작동하지 않습니다.
- 캡슐화 : 스타일과 마크 업은 Shadow Dom을 통해 분리됩니다.
- 재사용 성 : 일단 정의되면 앱이나 프로젝트에서 어디서나 사용할 수 있습니다.
- 표준화 : 브라우저 사양의 일부 - No 빌드 단계가 필요합니다 (툴링이 도움이되지만).
실제 사용 사례
- 설계 시스템 및 UI 라이브러리 (예 : Salesforce Lightning, Adobe Spectrum)
- 임베디 가능한 위젯 (챗봇, 피드백 양식)
- 팀이 다른 프레임 워크를 사용하는 미세 대상
명심해야 할 한 가지 :
웹 구성 요소는 강력하지만 프레임 워크와 마찬가지로 내장 상태 관리 또는 템플릿 구문을 포함하지 않습니다. 수동으로 상태를 관리하거나 경량 라이브러리 (예 : 조명)를 사용하여 개발을보다 쉽게 만들어야합니다.
기본적으로 웹 구성 요소는 빌딩 블록을 제공하여 자신의 구성 요소 생태계를 만들 수 있습니다. 브라우저에서는 프레임 워크가 필요하지 않습니다.
위 내용은 JavaScript 웹 구성 요소는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

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

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

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

JavaScript의 범위는 변수의 접근성 범위를 결정하며, 이는 글로벌, 기능 및 블록 수준 범위로 나뉩니다. 컨텍스트는 이것의 방향을 결정하고 함수 호출 방법에 따라 다릅니다. 1. 스코프에는 글로벌 범위 (어디서나 액세스 가능), 함수 스코프 (함수 내에서만 유효 함) 및 블록 레벨 범위 ({} 내에서 유효 함)가 포함됩니다. 2. 실행 컨텍스트에는 가변 객체, 스코프 체인 및 이것의 값이 포함되어 있습니다. 이것은 일반 함수에서 글로벌 또는 정의되지 않은 것을 가리키며, 메소드 호출은 통화 객체를 가리키고 생성자는 새 객체를 가리키며 Call/Apply/Bind에 의해 명시 적으로 지정 될 수 있습니다. 3. 폐쇄는 외부 범위 변수에 액세스하고 기억하는 기능을 말합니다. 종종 캡슐화 및 캐시에 사용되지만

Vue3의 CompositionApi는 복잡한 논리 및 유형 파생에 더 적합하며 옵션 API는 간단한 시나리오 및 초보자에게 적합합니다. 1. OptionsApi는 데이터 및 방법과 같은 옵션에 따라 코드를 구성하며 명확한 구조를 가지지 만 복잡한 구성 요소는 조각화됩니다. 2. CompositionApi는 설정을 사용하여 관련 논리를 집중시킵니다.이 논리는 유지 관리 및 재사용에 도움이됩니다. 3. CompositionApi는 Composable 기능을 통해 충돌이없고 매개 변수화 가능한 논리 재사용을 인식합니다. 4. CompositionApi는 TypeScript와보다 정확한 유형 도출에 대한 더 나은 지원을 가지고 있습니다. 5.이 둘의 성능과 포장량에는 큰 차이가 없다. 6.

동시 처리에서 JavaScript의 웹 워크와 Javathreads 사이에는 필수적인 차이가 있습니다. 1. JavaScript는 단일 스레드 모델을 채택합니다. 웹 워크 사람들은 브라우저에서 제공하는 독립 스레드입니다. UI를 차단하지는 않지만 DOM을 작동 할 수없는 시간 소모적 작업을 수행하는 데 적합합니다. 2. Java는 스레드 클래스를 통해 생성 된 언어 수준의 실제 멀티 스레딩을 지원하며 복잡한 동시 논리 및 서버 측 처리에 적합합니다. 3. 웹 워크는 postMessage ()를 사용하여 주 스레드와 통신하는데, 이는 매우 안전하고 고립된다. Java 스레드는 메모리를 공유 할 수 있으므로 동기화 문제에주의를 기울여야합니다. 4. 웹 워크는 이미지 처리 및와 같은 프론트 엔드 병렬 컴퓨팅에 더 적합합니다.

프로젝트를 초기화하고 package.json을 만듭니다. 2. Shebang을 사용하여 Entry Script Index.js를 만듭니다. 3. package.json의 빈 필드를 통한 명령을 등록합니다. 4. Yargs 및 기타 라이브러리를 사용하여 명령 줄 매개 변수를 구문 분석하십시오. 5. NPMLINK 로컬 테스트 사용; 6. 경험을 향상시키기 위해 도움말, 버전 및 옵션을 추가하십시오. 7. 선택적으로 NPMPUBLISH를 통해 출판; 8. 선택적으로 Yargs와의 자동 완료를 달성합니다. 마지막으로 합리적인 구조 및 사용자 경험 설계를 통해 실제 CLI 도구를 작성하고, 자동화 작업을 완료하거나 위젯을 배포하고 완전한 문장으로 끝납니다.

새로운 요소를 생성하려면 document.createElement ()를 사용하십시오. 2. TextContent, 클래스리스트, SetAttribute 및 기타 방법을 통해 요소를 사용자 정의합니다. 3. DOM에 요소를 추가하기 위해 AppendChild () 또는보다 유연한 Append () 메소드를 사용하십시오. 4. 삽입 위치를 제어하기 위해 (), 이전 () 및 기타 방법을 선택적으로 사용합니다. 완전한 프로세스는 → Customize → Add를 작성하는 것이며 페이지 컨텐츠를 동적으로 업데이트 할 수 있습니다.

TypeScript의 고급 조건 유형은 TextEndsu? x : y 구문을 통해 유형간에 논리적 판단을 구현합니다. 핵심 기능은 분산 조건 유형, 유추 유형 추론 및 복잡한 유형 도구의 구성에 반영됩니다. 1. 조건부 유형은 베어 유형 매개 변수에 분산되며 문자열 [] | 번호 []를 얻기 위해 ToArray와 같이 조인트 유형을 자동으로 분할 할 수 있습니다. 2. 분포를 사용하여 필터링 및 추출 도구를 구축하기 위해 : textendsu를 통해 유형을 제외하고 textendu? t : never 및 null/undefined를 통해 공통점을 추출합니다. 3

microfrontendssolvesscalingchalingchalengesinlargeteams는 독립적 인 developmentanddeployment.1) chooseeanintegrationstrategy : usemodulefederation inwebpack5forruntimeloadingandtrueindence, build-timeintegrationforsimplesetups, oriframes/webcomponents

JavaScript 배열의 길이를 얻으려면 내장 길이 속성을 사용할 수 있습니다. 1. .length 속성을 사용하여 Constfruits = [ 'Apple', 'Banana', 'Orange']; Console.log (Fruits.length); // 출력 : 3; 2.이 속성은 문자열, 숫자, 객체 또는 배열과 같은 모든 유형의 데이터를 포함하는 배열에 적합합니다. 3. 길이 속성이 자동으로 업데이트되며 요소가 추가되거나 삭제 될 때 그에 따라 그 값이 변경됩니다. 4. 0 기반 카운트를 반환하고 빈 배열의 길이는 0입니다. 5. 길이 속성을 수동으로 수정하여 배열을 자르거나 확장 할 수 있습니다.
