/ Gists / Javascript Safe Assignment Operator (?=)
On gists

Javascript Safe Assignment Operator (?=)

JavaScript

examples.js Raw #

// https://devsmitra.medium.com/javascript-error-handling-just-got-a-whole-lot-easier-meet-the-safe-assignment-operator-c372d892d4ed

// without
async function getData() {
  try {
    const response = await fetch("https://api.example.com/data");
    const json = await response.json();
    return validationSchema.parse(json);
  } catch (error) {
    handleError(error);
  }
}


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

  const [jsonError, json]?= await response.json();
  if (jsonError) return handleJsonError(jsonError);

  const [validationError, data]?= validationSchema.parse(json);
  if (validationError) return handleValidationError(validationError);

  return data;
}