![[JavaScript] 점 표기법(정적속성) vs 대괄호 표기법(동적속성) [6/2 study]](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fle2oO%2FbtsHYtUnMn2%2FAAAAAAAAAAAAAAAAAAAAAEh7Y2SwYDRgaO12erwRuejoYVCMpYsXf1zMuj_hCfFh%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DQop7ABze7Fc62D%252BqywszTUjAaHw%253D)
[JavaScript] 점 표기법(정적속성) vs 대괄호 표기법(동적속성) [6/2 study]Frontend/JavaScript2024. 6. 2. 16:31
Table of Contents
점 표기법(정적속성) vs 대괄호 표기법(동적속성)
❗️상황
공부를 하면서 문득 이렇게 작성한 코드를 보고 점 표기법으로 작성을 안하는 이유가 뭐지 하고 의문이 들었다.
export default function App() {
const [order, setOrder] = useState("createdAt");
const sortedItems = items.sort((a, b) => b[order] - a[order]);
/.../
}
❗️공부하고 깨달은 점
점 표기법으로 접근하려면 속성 이름이 고정된 경우에만 사용할 수 있습니다.
예를 들어, b.order와 같이 접근하는 경우에는 order가 객체의 정적 속성이어야 합니다.
그런데 지금 코드는 order값이 상태 값으로 동적으로 설정되어 있으므로 대괄호 표기법(b[order])을 사용해야 합니다.
❗️결론
점 표기법과 대괄호 표기법의 차이점
- 점 표기법 (.): 정적으로 정의된 속성에 접근합니다.
- 대괄호 표기법 ([]): 동적 속성에 접근합니다. 속성 이름이 변수로 지정될 수 있습니다.
🔥마무리
상태 값처럼 동적으로 변하는 값은 대괄호 표기법을 사용해야 한다는 점을 알아서 유익한 공부 였다!
오늘도 화이팅!!
@동혁이 :: Eun_Frontend
프론트엔드 공부일지 입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!