• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

writable

20.02.05 14:40 작성 조회수 87

0

var obj = {};

Object.defineProperty(obj, "book", {

value: "JS책";

});

obj.book = "변경가능";
console.log(obj.book);

// obj.book 에서 var obj = {}; 객체가 생성되어 있는데

obj.book가 되면 obj가 namesapce가 되고 book가 객체가 되는 건가요?

답변 1

답변을 작성해보세요.

1

질문 ==> obj.book가 되면 obj가 namesapce가 되고 book가 객체가 되는 건가요?

obj가 객체이고 book은 키와 형태의 프로퍼티에서 프로퍼티 이름입니다.

즉, obj = {book: "JS책"} 형태가 됩니다. (value: "JS책")에서 value는 속성입니다.

자바스크립트에서 속성은 여기에서만 사용하며, Object.defineProperty()는 value 속성 값을 프로퍼티 값으로 설정합니다.

namespace는 다수의 obj를 모아 놓은 그룹이라고 할 수 있습니다.

예를 들어 고객 관리 네임스페이스: Customer

고객의 포인트 관리 네임스페이스: Point

Customer와 Point에 하나 이상의 오브젝트(위 코드에서 obj) 또는 함수가 존재하게 됩니다. 

Customer.Point.obj.book = "변경가능"; ==> 이렇게 namespace를 경로로 사용하여 값을 설정하거나

Point.obj.book = "변경가능"; ==> 이렇게 namespace를 경로로 사용하여 값을 설정합니다.