자바스크립트의 선택적 연결(?.)

?.는 자바스크립트에서 연쇄 연산자로 알려져 있습니다. 이 연산자는 매우 유용하므로 이 기사를 읽은 후 바로 이 연산자를 사용하게 될 것입니다.

이 선택적 연결 연산자는 무엇을 합니까?


?. 연산자는 . 연결 연산자와 유사하게 작동하지만 참조가 null인 경우(null 또는 undefined) 오류가 발생하는 대신 undefined 반환 값으로 표현식이 단락됩니다.
좀 더 명확하게 이해할 수 있도록 몇 가지 세부 사항을 논의해 보겠습니다.

고려하다

const person = {
  a: {
    b: 'c'
}
};


시도하면 어떻게 될까요?




console.log(person.a.b)


??

당신이 맞습니다 ... 그것은 확실히 콘솔에 'c'를 인쇄 할 것입니다.

그러나 당신이 시도하면 어떻게 될까요?

console.log(person.d.e)


??

흠... 까다롭죠?? 전혀... 오류가 발생합니다.

Uncaught reference error: Cannot read property e of undefined.


'b'는 객체 'a'의 속성이 아니기 때문입니다. 여기 큰 질문이 있습니다.

존재하지 않는다는 것을 알고 있는 속성을 인쇄하려고 하는 이유는 무엇입니까?



대답은 매우 간단합니다. 곧 개체에 포함되지만 아직 사용할 수 없는 일부 데이터를 인쇄하려고 합니다(예: http 요청을 사용하여 데이터 가져오기). 일반적인 경우에 수행할 수 있는 작업은 값이 존재하는 경우에만 데이터를 인쇄하지만 선택적 연결 연산자를 사용하면 매우 간단해지도록 if else 조건을 적용하는 것입니다. 아래 참조

if (person.d) console.log(person.d.e)


VS

console.log(person.d.?e)


두 번째는 데이터를 가져오지 않아도 오류가 발생하지 않습니다. 정의되지 않은 상태로 인쇄됩니다.
말 그대로 js를 사랑한다면 정말 멋진 일입니다. 나는 항상 가능한 한 쉽게 개념을 가르치는 것을 좋아합니다.

읽어 주셔서 감사합니다

즐거운 자바스크립트....

좋은 웹페이지 즐겨찾기