목차
1. 간단한 삼부인을 논리적 할당으로 교체하십시오
2. 긴 if/else if 객체 매핑을 사용하십시오.
3. 가드 조항을 조기 반환으로 교체하십시오
4. 조건부 루프 대신 배열 방법을 사용하십시오
5. 검사를 피하기 위해 파괴 및 불이행을 활용하십시오
백엔드 개발 PHP 튜토리얼 리팩토링 레거시`if/else` 블록이 현대적인 속기 조건부가 있습니다

리팩토링 레거시`if/else` 블록이 현대적인 속기 조건부가 있습니다

Jul 31, 2025 pm 12:45 PM
PHP Shorthand if Statements

if/else 과제를 ||, ?? 및 &&와 같은 3 인용 또는 논리 연산자로 교체하십시오. 2. IF/ELSE 대신 객체 매핑을 사용하여 체인이 여러 값 점검을 깨끗하게 해결하십시오. 3. 가드 조항을 통해 조기 반환을 적용하여 둥지를 줄이고 주요 흐름을 강조하십시오. 4. 조건부 루프를 선언적이고 읽기 쉬운 논리를 위해 찾기 및 필터와 같은 배열 메소드로 바꾸십시오. 5. 중복 속성 검사를 제거하기 위해 불이행 및 선택적 체인으로 파괴를 활용합니다. 목표는 깊이 중첩 된 조건부보다 현대식 자바 스크립트 패턴을 선호하여보다 유지 관리 가능하고 표현력있는 코드를 작성하는 것입니다.

리팩토링 레거시`if/else` 블록이 현대적인 속기 조건부가 있습니다

리팩토링 레거시 if/else 최신 속기 조건부로 블록이 블록하는 경우 코드를 덜 작성하는 것이 아니라 가독성 향상, 중첩 감소 및 논리를 쉽게 유지할 수 있도록하는 것입니다. 지나치게 중첩되거나 깊이 묶여있는 if/else 문은 오래된 코드베이스에서 일반적이며 종종 버그, 혼란 및 복제로 이어집니다. 다행히도 현대 자바 스크립트 (및 다른 언어의 유사한 패턴)는 더 깨끗한 대안을 제공합니다.

리팩토링 레거시`if/else` 블록이 현대적인 속기 조건부가 있습니다

다음은 전통적인 조건부를보다 표현적이고 간결한 구성으로 리팩트하는 방법입니다.


1. 간단한 삼부인을 논리적 할당으로 교체하십시오

조건에 따라 값을 할당하면 전체 if/else 블록을 피하십시오.

리팩토링 레거시`if/else` 블록이 현대적인 속기 조건부가 있습니다

전에:

 결과하자;
if (userLoggedIn) {
  결과 = '환영';
} 또 다른 {
  결과 = '로그인';
}

후에:

리팩토링 레거시`if/else` 블록이 현대적인 속기 조건부가 있습니다
 const result = userLoggedIn? '환영': '로그인';

간단한 진실/거짓 점검을 위해서는 논리 연산자를 사용하십시오.

 // 기본값
const name = username || '손님';

// Nullish Coalescing (더 안전 함)
const name = username ?? '손님';

// 단락 할당
isloggedin && showdashboard ();

이 속기는 보일러 플레이트를 줄이고 의도를 명확하게 만듭니다.


2. 긴 if/else if 객체 매핑을 사용하십시오.

여러 값에 대해 동일한 변수를 확인할 때 조회 객체는 일련의 if/else if 보다 깨끗합니다.

전에:

 행동하자;
if (status === 'loading') {
  액션 = '스피너';
} else if (status === 'success') {
  action = 'checkmark';
} else if (status === 'error') {
  행동 = '십자';
} 또 다른 {
  action = 'default';
}

후에:

 const statusmap = {
  로딩 : '스피너',
  성공 : '체크 마크',
  오류 : '크로스',
};

const action = statusMap [상태] || '기본';

또는 Map 또는 switch 스타일 기능으로 :

 const getAction = (상태) => ({{
  로딩 : '스피너',
  성공 : '체크 마크',
  오류 : '크로스',
}[상태] ?? '기본');

이 패턴은 더 잘 확장되고 테스트하거나 외부화하기가 더 쉽습니다.


3. 가드 조항을 조기 반환으로 교체하십시오

if/else 블록은 종종 단순한 초기 출구를 숨기고 있습니다. 가드 조항을 사용하여 논리를 평평하게하십시오.

전에:

 기능 프로세서 (사용자) {
  if (사용자) {
    if (user.isActive) {
      reture sendwelcomeEmail (사용자);
    } 또 다른 {
      널 리턴;
    }
  } 또 다른 {
    널 리턴;
  }
}

후에:

 기능 프로세서 (사용자) {
  if (! user ||! user.isActive) return null;
  reture sendwelcomeEmail (사용자);
}

조기 반환은 들여 쓰기를 줄이고 행복한 길을 더 분명하게 만듭니다.


4. 조건부 루프 대신 배열 방법을 사용하십시오

때때로 if/else 논리가 루프 내부에 묻혀 있습니다. 선언적 배열 방법으로 교체하십시오.

전에:

 결과하자;
for (i = 0; i <Users.Length; i) {
  if (user [i] .id === targetID) {
    결과 = 사용자 [i];
    부서지다;
  }
}

후에:

 const result = user.find (user => user.id === targetID) ?? 널;

또는 여러 조건의 경우 :

 const 필터링 = users.filter (u => 
  U.Active && (u.role === &#39;admin&#39;|| U.Role === &#39;중재자&#39;)
);

선언적 방법은 얻는 방법이 아니라 원하는 것을 표현합니다.


5. 검사를 피하기 위해 파괴 및 불이행을 활용하십시오

기본값을 사용하여 누락 된 속성에 대한 if 를 피하십시오.

전에:

 함수 getName (user) {
  if (user && user.profile && user.profile.name) {
    return user.profile.name;
  }
  &#39;익명&#39;반환;
}

후에:

 함수 getName (user) {
  const {name = &#39;익명&#39;} = user? .profile || {};
  반환 이름;
}

또는 더 짧은 :

 const getName = (user) => user? .profile? .name ?? &#39;익명의&#39;;

선택적 체인 ( ?. ) 및 Nullish Coalescing ( ?? )은 방어 코드의 전체 지점을 제거합니다.


목표는 진술이 전적으로 if 제거하는 것이 아니라 유효하고 필요합니다. 그러나 현대 언어 기능을 사용하면 복잡한 중첩 논리를보다 간단하고 유지 관리 가능한 패턴으로 대체 할 수 있습니다.

기본적으로 : 체인 대신지도, 일찍 돌아오고, 기본값을 사용하며, 표현식을 선호합니다. 그것은 마법이 아닙니다 - 단지 더 깨끗한 코드.

위 내용은 리팩토링 레거시`if/else` 블록이 현대적인 속기 조건부가 있습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

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

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

뜨거운 주제

리팩토링 레거시`if/else` 블록이 현대적인 속기 조건부가 있습니다 리팩토링 레거시`if/else` 블록이 현대적인 속기 조건부가 있습니다 Jul 31, 2025 pm 12:45 PM

replacef/elseassignmentswithternariesorlogicaloperatorsike ||, ?? 및 && forconcise.2.useobjectmappinginsteadofif/elseifchainstocleanlyresolvemultiplevaluechecks.3.ApplyERLYRETURNSVIAGUARDCLAUSESTEDUTHINGTHIGHGHIGHGHIGHGHIGHGHIGHGHIGHGHIGHTHEMANTEMAINFL

복잡한 속기 조건부에서 해상 연산자 우선 순위 복잡한 속기 조건부에서 해상 연산자 우선 순위 Aug 01, 2025 am 07:46 AM

OperatorPrecedOngeTERMINESEVERATIONODORINGORTHONDCONDITIONALS, WHERE && 및 || bindMoreTightlythan? :, soExpressionSlik ea || b? c : dareinterpretedas (a || b)?

장점에서 간결하게 :`if` if`E 진술 리팩토링에 대한 실용 가이드 장점에서 간결하게 :`if` if`E 진술 리팩토링에 대한 실용 가이드 Aug 01, 2025 am 07:44 AM

returnearlytoredUcenestingByExtingFunctionsAssOonAsInAsInAsInsOnSocaseSERDETEDETED, rentingInflatterAndMoreReadBecode.2.

Elvis 연산자 잠금 해제 (`? :`) : PHP의 잊혀진 조건부 속도 Elvis 연산자 잠금 해제 (`? :`) : PHP의 잊혀진 조건부 속도 Aug 01, 2025 am 07:46 AM

Elvis 연산자 (? :)는 왼쪽 참값 또는 오른쪽 기본값을 반환하는 데 사용됩니다. 1. 왼쪽 값이 true 일 때 왼쪽 값을 반환합니다 (null, false, 0, ''등). 2. 그렇지 않으면 올바른 기본값을 반환하십시오. 가변 할당 기본값, 3 배 표현식 단순화 및 처리 선택 구성에 적합합니다. 3. 그러나 0, false 및 빈 줄을 유효한 값으로 사용하지 않아야합니다. 현재 빈 합병 연산자 (??); 4.와 달리 ??,? : 진실 가치 판단에 근거하여, ?? null 만 확인하십시오. 5. 일반적으로 $ name? : 'Guest'와 같은 Laravel 응답 출력 및 블레이드 템플릿에서; 현대의 PHP 개발에서 그 행동을 정확하게 이해하는 것은 안전하고 효율적으로 사용될 수 있습니다.

Cleaner,보다 간결한 코드를 위해 PHP의 3 차 연산자 마스터 링 Cleaner,보다 간결한 코드를 위해 PHP의 3 차 연산자 마스터 링 Jul 31, 2025 am 09:45 AM

PHP의 3 차 운영자는 간단한 조건부 할당에 적합한 간결한 if-else 대안으로 코드 가독성을 향상시킬 수 있습니다. 1. 삼구 연산자를 사용할 때는 명확한 논리를 보장하고 간단한 판단 만 사용해야합니다. 2. 3 원 운영자 중첩을 피하십시오. 가독성을 줄이고 대신 if-elseif-else 구조를 사용하기 때문입니다. 3. NULL 병합 연산자 (??)을 사용하여 NULL 또는 정의되지 않은 값을 먼저 처리하고 Elvis 연산자 (? :)를 사용하여 진실을 판단하십시오. 4. 표현을 짧게 유지하고 부작용을 피하고 항상 기본 목표로 가독성을 취하십시오. 제 3의 연산자를 올바르게 사용하면 코드를 더 간결하게 만들 수 있지만 선수 수를 줄이기 위해 명확성을 희생해서는 안됩니다. 궁극적 인 원칙은 단순하고 테스트 가능하며 중첩되지 않은 상태로 유지하는 것입니다.

PHP에서 중첩 된 삼여 사업자의 함정 탐색 PHP에서 중첩 된 삼여 사업자의 함정 탐색 Jul 31, 2025 pm 12:25 PM

Nestedternaryoperatorsinphpppphouldbeavoidedbecausethepereeducereadibility, asseengernaryingaconfusingnestedernarytoittoittoitsproperlyenthesized butstillhard-to-readform; 2. theymakedebgingdifficults indinlinedebuggingismspping-stroughcounthroughcountroughcontsproughcontrouphn

`??`: PHP 응용 프로그램의 NULL 검사를 단순화하는 힘 `??`: PHP 응용 프로그램의 NULL 검사를 단순화하는 힘 Jul 30, 2025 am 05:04 AM

?? 연산자는 PHP7에서 도입 한 빈 합병 연산자로, 널 값 점검을 간결하게 처리하는 데 사용됩니다. 1. 먼저 변수 또는 배열 키가 존재하고 무효가 아닌지 확인합니다. 그렇다면 값을 반환하고 그렇지 않으면 $ array [ 'key']? '' 'default'와 같은 기본값을 반환합니다. 2. ISSET ()을 3 차 연산자와 결합하는 방법과 비교하여, 이는 더 간결하고 $ _session'User '['테마 ']와 같은 체인 호출을 지원합니다. 3. 종종 양식 입력, 구성 읽기 및 객체 속성 액세스를 안전하게 처리하는 데 사용되지만 NULL 판단 만 판단하며 "빈", 0 또는 False를 "빈"으로 인식하지 못합니다. 4. 그것을 사용할 때

미묘한 대결 : PHP Ternary (`? :`) vs. Null Coalescing (`??`) 미묘한 대결 : PHP Ternary (`? :`) vs. Null Coalescing (`??`) Aug 01, 2025 am 07:32 AM

?를 사용할 때 ?? 연산자, 기본값은 변수가 널 또는 정의되지 않은 경우에만 사용되며, 이는 배열 키 및 사용자 입력과 같은 존재 검사를 처리하는 데 적합합니다. 2.? 3. 두 사람은 ($ value ?? false)와 같은 조합으로 사용할 수 있습니다. : '기본값'? 4. 올바른 연산자를 선택하면 코드의 가독성과 시맨틱 선명도가 향상 될 수 있으며, 이는 "결 측값 처리"를 의미하며? :? : "논리적 판단"을 의미합니다.

See all articles