> 웹 프론트엔드 > JS 튜토리얼 > 시도해 보세요...V/s를 잡아보세요 안전한 할당(?=): 현대 개발에 도움이 될까요 아니면 저주가 될까요?

시도해 보세요...V/s를 잡아보세요 안전한 할당(?=): 현대 개발에 도움이 될까요 아니면 저주가 될까요?

WBOY
풀어 주다: 2024-08-26 21:33:32
원래의
899명이 탐색했습니다.

Try...Catch V/s Safe Assignment (?=): A Boon or a Curse for Modern Development?

최근 JavaScript에 새로 도입된 안전 할당 연산자(?.=)를 발견했는데 그 단순함에 정말 매료되었습니다. ?

SAO(안전 할당 연산자)는 기존 try...catch 블록에 대한 약식 대안입니다. 이를 통해 각 작업에 대해 명시적인 오류 처리 코드를 작성하지 않고도 오류를 인라인으로 포착할 수 있습니다. 예는 다음과 같습니다.

const [error, response] ?= await fetch("https://api.example.com/data");
로그인 후 복사

그렇습니다! 그렇게 쉽습니다. 가져오기 요청에서 오류가 발생하면 자동으로 오류 상수에 저장됩니다. 그렇지 않으면 응답에 결과가 포함됩니다. 정말 멋지죠?

하지만 잠깐… 더 있습니다.

SAO를 사용할 때 다음과 같이 계속해서 오류를 처리해야 합니다.

async function getData() {
  const [requestError, response] ?= await fetch("https://api.example.com/data");

  if (requestError) {
    handleRequestError(requestError);
    return;
  }

  const [parseError, json] ?= await response.json();

  if (parseError) {
    handleParseError(parseError);
    return;
  }

  const [validationError, data] ?= validation.parse(json);

  if (validationError) {
    handleValidationError(validationError);
    return;
  }

  return data;
}
로그인 후 복사

SAO는 오류 처리를 단순화하지만 코드가 더 장황해질 수 있습니다. 이를 전통적인 try...catch 블록과 비교해 보세요:

async function getData() {
try {
  const response = await fetch("https://api.example.com/data");
  const json = await response.json();
  const data = validation.parse(json);
  return data;
} catch (error) {
  handleError(error);
  return;
}
}
로그인 후 복사

이 경우 try...catch는 9줄의 코드만 사용하는 반면 SAO는 약 두 배의 코드를 사용합니다.

그럼 어떻게 생각하세요? Safe Assignment Operator는 시간을 절약해 주나요, 아니면 불필요한 복잡성을 추가합니까?

위 내용은 시도해 보세요...V/s를 잡아보세요 안전한 할당(?=): 현대 개발에 도움이 될까요 아니면 저주가 될까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿