[javascript] 동적으로 생성된 프로퍼티와 정적으로 정의된 프로퍼티의 차이점

자바스크립트에서 프로퍼티(property)는 객체(object)에 연결된 키-값 쌍을 의미합니다. 프로퍼티는 동적으로 생성된 프로퍼티정적으로 정의된 프로퍼티로 나눌 수 있습니다.

정적으로 정의된 프로퍼티

정적으로 정의된 프로퍼티는 객체가 생성될 때 프로토타입과 함께 정의되는 프로퍼티입니다. 이러한 프로퍼티는 주로 객체 리터럴 문법을 사용하여 정의됩니다.

const obj = {
  name: 'John',
  age: 30
};

위 예제에서 nameage는 정적으로 정의된 프로퍼티입니다. 이러한 프로퍼티들은 객체가 생성된 이후에는 제거되거나 변경되지 않습니다.

동적으로 생성된 프로퍼티

동적으로 생성된 프로퍼티는 객체가 이미 생성된 이후에 프로퍼티를 추가하거나 제거할 수 있는 프로퍼티를 말합니다. 이를테면, 다음과 같은 방법으로 동적으로 생성된 프로퍼티를 추가할 수 있습니다.

const obj = {};
obj.country = 'USA';

위 예제에서 country는 동적으로 생성된 프로퍼티입니다. 동적으로 생성된 프로퍼티는 객체 생성 후에 나중에 추가되거나 제거될 수 있습니다.

결론

정적으로 정의된 프로퍼티는 객체가 생성될 때 함께 정의되며, 동적으로 생성된 프로퍼티는 객체가 이미 생성된 이후에 추가되거나 제거됩니다. 두 유형의 프로퍼티는 객체의 동작과 상태를 조작하는 데 있어 다른 방식으로 사용될 수 있습니다.

이러한 차이점을 이해하고 적절히 활용함으로써 자바스크립트 객체를 효과적으로 다뤄서 프로그래밍할 수 있습니다.

참고 자료

  1. MDN Web Docs - 프로퍼티 정의하기