안녕하세요 여러분! 이 게시물은 프로젝트의 데이터 유형이 연결되는 방식을 개선하여 데이터 유형을 더욱 안정적이고 이해하기 쉽게 만드는 데 도움을 주기 위해 작성되었습니다.
TLDR 급한 분들을 위해: 동일한 항목을 참조하는 유형 및 상수를 반복하지 말고 암시적인 이름을 지정하십시오(간단한 문자열이거나 숫자이더라도). 이렇게 하면 나중에 코드를 더 쉽게 식별, 수정 또는 제거할 수 있습니다.
문제
전자상거래 웹사이트를 개발 중이고 제품 유형을 다음과 같이 정의했다고 가정해 보세요.
export type ProductType = { id: string; name: string; price: number; };
이런 종류의 프로젝트에서는 간단한 함수를 통해 제품 ID를 참조할 수 있는 다양한 방법을 쉽게 찾을 수 있습니다.
- const getProductById = (제품: ProductType[], id: 문자열) => {...};
- const onProductPress = (productId: 문자열) => {...};
상태 저장소에 제품 데이터를 저장하거나 JS 프레임워크의 다른 구성 요소에 props를 전달하는 등의 고급 상황에
문제
이제 다음 접근 방식으로 문제를 해결해 보겠습니다.
- 상품 ID가 이렇게 간단하고 기억하기 쉽지 않다면 어떨까요? ab12-w35-s48-09(예: 공급업체 카테고리 제품 변형을 나타냄)와 같은 것이라면 어떻게 될까요?
- 이것이 제 핵심 포인트입니다. 프로젝트 전반에 걸쳐 발생하는 모든 제품 ID 유형을 변경해야 한다면 어떻게 될까요? 다른 파일에서 참조할 때 다른 이름(예: productId, product_id, pid 또는 id)을 지정한 경우 이는 특히 어려울 수 있습니다. 문자열만 검색할 수도 없습니다. 문자열과 관련되지 않은 항목이 많이 발견될 것이 확실하기 때문입니다.
잠재적인 해결책
첫 번째 문제를 해결하려면 템플릿 리터럴 유형을 사용하여 새 제품 ID 유형을 ${string}-${string}-${string}-${string}으로 만들 수 있습니다. 여러 파일에 걸쳐 이 작업을 반복하는 것은 이제 짜증나는 일이므로 다음 중 하나를 수행할 수 있습니다.
- id 필드에 대한 사용자 정의 유형을 생성하고 이를 ProductType에서 사용합니다.
type ProductIdType = `${string}-${string}-${string}-${string}`
필요한 경우 각 문자열에 대해 서로 다른 유형을 생성하여 참조하거나 이전에 생성한 다른 유형을 참조할 수도 있습니다. 마지막으로 다음과 같이 새로운 유형을 사용하게 됩니다.
(productId : ProductIdType) => {...}
- 또는 ProductType의 ID 항목을 참조할 수도 있습니다.
(productId : ProductType['id']) => {...}
이 두 접근 방식 모두 문제 2를 해결합니다. ProductIdType 또는 ProductType['id']를 찾을 때마다 제품 ID를 다루고 있다는 것을 알 수 있으며 이를 바꿔야 한다는 것을 알 수 있습니다.
첫 번째 솔루션이 더 친숙해 보일 수 있지만 이제 제품에 대한 유형과 ID에 대한 유형이 있어 독립적으로 사용할 수 있는 이중 구조를 가지게 됩니다. 다음은 해당 구조를 표현한 예입니다.
이것은 의심할 바 없이 작은 문제이지만 ProductType의 id 항목을 변경/삭제하면 해당 변경 사항이 전체 프로젝트에 반영되지 않습니다.
그러나 마지막 접근 방식은 제가 일반적으로 따르는 접근 방식입니다. 더 나은 단어가 부족하여 데이터의 결합을 증가시키기 때문입니다. 이제 제품 데이터에 대한 모든 참조가 ProductType:
을 직접 가리킵니다.결론
모든 데이터에 대해 항상 유형을 생성해야 한다는 말은 아닙니다. 동일한 데이터 유형에 대한 참조가 반복되는 것을 볼 때마다 일반적으로 두 번째 접근 방식처럼 원본 데이터에 액세스하는 것을 선택합니다.
보너스 팁 1: const에 동일한 논리를 적용할 수 있습니다. 여러 위치에서 동일한 매직 넘버나 문자열을 반복하는 경우 적절한 지정을 부여하고 사용하는 것이 가장 좋습니다.
보너스 팁 2: 한 유형의 항목을 반복하는 대신 두 개 이상의 항목을 선택/제외하려면 선택, 생략, 제외 및 기타 유틸리티 유형을 사용하세요.
그게 다예요! 내 게시물이 마음에 들었기를 바랍니다. 이 주제에 대한 피드백을 남겨주세요.
위 내용은 프로젝트의 결합 개선의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

javaScriptUSTWOTYPESOFSOFCOMMENTS : 단일 라인 (//) 및 multi-line (//)

Python과 JavaScript의 주요 차이점은 유형 시스템 및 응용 프로그램 시나리오입니다. 1. Python은 과학 컴퓨팅 및 데이터 분석에 적합한 동적 유형을 사용합니다. 2. JavaScript는 약한 유형을 채택하며 프론트 엔드 및 풀 스택 개발에 널리 사용됩니다. 두 사람은 비동기 프로그래밍 및 성능 최적화에서 고유 한 장점을 가지고 있으며 선택할 때 프로젝트 요구 사항에 따라 결정해야합니다.

Python 또는 JavaScript를 선택할지 여부는 프로젝트 유형에 따라 다릅니다. 1) 데이터 과학 및 자동화 작업을 위해 Python을 선택하십시오. 2) 프론트 엔드 및 풀 스택 개발을 위해 JavaScript를 선택하십시오. Python은 데이터 처리 및 자동화 분야에서 강력한 라이브러리에 선호되는 반면 JavaScript는 웹 상호 작용 및 전체 스택 개발의 장점에 없어서는 안될 필수입니다.

파이썬과 자바 스크립트는 각각 고유 한 장점이 있으며 선택은 프로젝트 요구와 개인 선호도에 따라 다릅니다. 1. Python은 간결한 구문으로 데이터 과학 및 백엔드 개발에 적합하지만 실행 속도가 느립니다. 2. JavaScript는 프론트 엔드 개발의 모든 곳에 있으며 강력한 비동기 프로그래밍 기능을 가지고 있습니다. node.js는 풀 스택 개발에 적합하지만 구문은 복잡하고 오류가 발생할 수 있습니다.

javaScriptisNotBuiltoncorc; it'SangretedLanguageThatrunsonOngineStenWrittenInc .1) javaScriptWasDesignEdasAlightweight, 해석 hanguageforwebbrowsers.2) Endinesevolvedfromsimpleplemporectreterstoccilpilers, 전기적으로 개선된다.

JavaScript는 프론트 엔드 및 백엔드 개발에 사용할 수 있습니다. 프론트 엔드는 DOM 작업을 통해 사용자 경험을 향상시키고 백엔드는 Node.js를 통해 서버 작업을 처리합니다. 1. 프론트 엔드 예 : 웹 페이지 텍스트의 내용을 변경하십시오. 2. 백엔드 예제 : node.js 서버를 만듭니다.

Python 또는 JavaScript는 경력 개발, 학습 곡선 및 생태계를 기반으로해야합니다. 1) 경력 개발 : Python은 데이터 과학 및 백엔드 개발에 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 적합합니다. 2) 학습 곡선 : Python 구문은 간결하며 초보자에게 적합합니다. JavaScript Syntax는 유연합니다. 3) 생태계 : Python에는 풍부한 과학 컴퓨팅 라이브러리가 있으며 JavaScript는 강력한 프론트 엔드 프레임 워크를 가지고 있습니다.

JavaScript 프레임 워크의 힘은 개발 단순화, 사용자 경험 및 응용 프로그램 성능을 향상시키는 데 있습니다. 프레임 워크를 선택할 때 : 1. 프로젝트 규모와 복잡성, 2. 팀 경험, 3. 생태계 및 커뮤니티 지원.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음