"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 시도해 보세요...V/s를 잡아보세요 안전한 할당(?=): 현대 개발에 도움이 될까요 아니면 저주가 될까요?

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

2024-09-11에 게시됨
검색:882

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는 시간을 절약해 주나요, 아니면 불필요한 복잡성을 추가합니까?

릴리스 선언문 이 기사는 https://dev.to/nikhilagr15/trycatch-vs-safe-locationment-a-boon-or-a-curse-for-modern-development-55dg?1에서 복제됩니다. 침해가 있는 경우, 문의 Study_golang@163 .comdelete
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3