Daehyunii's Dev-blog

<모던자바스크립트 16장 프로퍼티 어트리뷰트> TIL-31 본문

✏️ 2022. TIL/July

<모던자바스크립트 16장 프로퍼티 어트리뷰트> TIL-31

Daehyunii 2022. 7. 8. 16:02

  오늘 배운 내용은 퍼로퍼티와 관련된 자바스크립트의 내부 동작들에 대해서 배웠다. 오늘 배운 내용들에 대해서는 평소에 전혀 생각하지 못한 부분이었다. 객체의 프로퍼티를 만들때 단순히, 프로퍼티의 키와 값으로만 구성되는 것이라고 생각해 왔다. 하지만 프로퍼티의 유형에 따라 가지고 있는 프로퍼티 어트리뷰트가 다르고, 또 각 프로퍼티마다 어트리뷰트의 내용을 달리하여, 서로 다른 특징을 지닌 프로퍼티도 만들수 있다는 것을 알게 되었다. 오늘 본 내용에서 가장 헷갈리는, 아직까지도 헷갈리는 부분은 접근자 프로퍼티이다. 접근자 프로퍼티를 통하여 데이터 프로퍼티의 값을 읽을때는 getter 함수가 값을 저장할때는 setter 함수가 호출되는 것은 알겠으나, 아직까지도 접근자 프로퍼티의 용도에 대해서는 정확하게 알지 못했다. 이 부분에 대해서는 다시 점검할 필요가 있을 것 같다. 그런데 사실 오늘 공부하면서 가장 크게 느낀점은 프로퍼티 디스크립터 객체를 통해 프로퍼티의 특징을 확인하는 것 정도는 정보를 확인하는 것이니, 충분히 활용가능 한 부분이라고 생각하지만 그 외의 프로퍼티 정의와 객체의 변경 방지 메서드들은 오히려 코드를 복잡하게 만들고 코드의 가독성을 떨어트릴것 같다는 생각이 들었다. 왜냐하면 실무에서의 많은 코드들 사이에서 프로퍼티 별로 프로퍼티 어트리뷰트의 내용을 다르게 정의하게 된다면, 어떤게 어떤 특징을 가지고 있는지 하나하나 다 프로퍼티 디스크립터 객체를 통해 확인해 보아야 할텐데, 너무 비효율적인 방법이라는 생각이 들었다. 또한 객체의 프로퍼티의 내용을 변경하고자 할때는 마침표 표기법 또는 대괄호 표기법을 통해 접근해야 하는데, 이러한 표기법을 통해서 개발자는 이미 충분히 해당 프로퍼티에 를 인지한 상태에서 프로퍼티에 접근 할 것이기 때문에 예상하지 못한 실수가 발생 될 확률은 극히 적을 것이라는 생각도 들었다.

 

2022.07.08 - [언어 공부 및 정리/자바스크립트[모던자바스크립트]] - 16장 프로퍼티 어트리뷰트

 

16장 프로퍼티 어트리뷰트

16.1 내부 슬롯과 내부 메서드 프로퍼티 어트리뷰트를 이해하기 위해서는 먼저 내부 슬롯과 내부 메서드의 개념에 대해 알고 있어야 한다. 내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현

pinetree93.tistory.com