[javascript] 객체 할당과 에러 처리 방법.

자바스크립트에서 객체 할당과 에러 처리는 모두 중요한 주제입니다. 이 블로그 포스트에서는 객체 할당 및 에러 처리에 대해 알아보겠습니다.

객체 할당

자바스크립트에서는 객체를 변수에 할당할 수 있습니다. 객체는 key-value 쌍의 배열이기 때문에 객체를 할당할 때는 얕은 복사(shallow copy)가 일어납니다.

아래는 예제 코드입니다.

let obj1 = { a: 1, b: 2 };
let obj2 = obj1; // obj1을 obj2에 할당

obj2.a = 3;
console.log(obj1.a); // 출력 결과: 3

위 코드에서 obj1과 obj2는 같은 객체를 참조하고 있기 때문에 obj2의 변경이 obj1에도 영향을 끼칩니다.

객체를 실제로 복사하고 싶다면 Object.assign()이나 전개 연산자(spread operator)를 사용하여 깊은 복사(deep copy)를 해야 합니다.

let obj1 = { a: 1, b: 2 };
let obj2 = { ...obj1 }; // 깊은 복사

obj2.a = 3;
console.log(obj1.a); // 출력 결과: 1

에러 처리

자바스크립트의 에러 처리는 try, catch, finally 구문을 사용하여 수행됩니다. try 블록 안에서 발생한 에러를 catch 블록에서 처리하고, finally 블록은 항상 실행됩니다.

아래는 예제 코드입니다.

function divide(x, y) {
  try {
    if (y === 0) {
      throw new Error('Divide by zero');
    }
    return x / y;
  } catch (error) {
    console.log('에러 발생: ' + error.message);
  } finally {
    console.log('나눗셈 연산 종료');
  }
}

console.log(divide(6, 2)); // 출력 결과: 3
console.log(divide(6, 0)); // 출력 결과: 에러 발생: Divide by zero / 나눗셈 연산 종료

위 코드에서는 try 블록에서 나눗셈이 시도되고, 만약 0으로 나누는 상황이 발생하면 catch 블록에서 에러를 처리합니다.

이상으로 자바스크립트의 객체 할당과 에러 처리 방법에 대해 알아보았습니다. 객체 할당 시 얕은 복사와 깊은 복사의 차이를 이해하고, 에러 처리 시 try, catch, finally 구문을 효과적으로 활용할 수 있습니다.