메서드 / 옵셔널 체이닝
2024-05-23 오전 12시 17분
2024-06-23 오전 12시 17분
메서드 체이닝
배열은 아니지만 인덱스로 접근할 수 있고 length 속성을 가지는 특수한 배열처럼 보이는 객체
연속적인 코드줄에서 개체의 메소드를 반복적으로 호출하는 것을 의미한다.
메서드가 객체를 반환하고, 그 반환 값이 또다른 메서드를 호출할 수 있는 것이다.
let user = {
count: 0,
up() {
++this.count;
return this;
},
down() {
--this.count;
return this;
},
};
user.up().up().up(); // 3
user.up().down().down() // 2
간단하게 user
라는 객체에count
라는 key
가 존재하고. 해당 키에 this
로 접근해서 값을 변화시키고,
this
를 return
하여 다시 다른 함수를 호출할 수 있게 사전작업을 해 주는 것이다.
이것을 메서드 체이닝
이라고 한다.
옵셔널 체이닝
연속적인 코드로 내부의 키를 거쳐 유저의 정보를 가져온다고 해보자. 하지만 유저의 특정 정보가 없어
key
가 존재하지 않는다면 에러를 발생시켜 javascript
의 구동이 정지될 것이다.
그럴 때 사용하는것이 옵셔널 체이닝이다.
let user = {} //어떠한 정보도 없는 사용자 정보
alert(user.address.info) //error 발생
alert(user.?address.?info) //undefined
해당 user 객체에는 어떠한 정보도 없다. 옵셔널 체이닝 .?
는 이렇게 탐색해가면서 key가 존재하지 않을 경우, 에러를 발생시키는게 아닌 undefined를 발생시키고 탐색을 종료한다.
옵셔널 체이닝으로 진행하는 정보에서 필수적인 정보는 . 을 넣어 확인해야한다.
댓글은 포스팅에 도움이됩니다. 적극적인 의견 감사드립니다.