[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
구문을 효과적으로 활용할 수 있습니다.