|| 하고 ?? 차이를 알아 두시면 더 좋습니다. 간략히 얘기하면 전자는 0, "", false, undefined 같은 falsy 값을 전부 검사 하는 연산자고 후자는 undefined 하고 null 같은 nullish 만 검사하는 연산자입니다. const a = false || "어떻게"; // a => "어떻게" const b = false ?? "사람 이름이"; // b => false const c = undefined ?? null ?? "엄", // c => "엄"
편리하긴 하지만 편리하다고 잘못 사용하면 오히려 독이 된다는 걸 알아야 함. 특히 코딩 오류나 데이터 오류를 숨겨버리는 역할을 하면 독이 됨. 코딩 오류나 데이터 오류는 늘상 있는 것인데, 안전한 코딩이라면 코딩 오류나 데이터 오류에도 잘 동작하는 코딩이라고 간단하게 생각해버림. 그렇지만 코딩 오류나 데이터 오류를 숨겨버리고 찾기 어렵게 만들면서 잘 동작하게 만드는 코딩은 전혀 안전하지 않고, 오히려 코딩 헬을 만드는 것임. ?./?? 같은 문법도 코딩 오류나 데이터 오류에도 간단하게 잘 동작하도록 만들어줘서 편리하지만, 그 결과로 코딩 오류나 데이터 오류가 숨겨져 버린다면 코딩 헬이 열리게 되는 것임. 코딩 오류나 데이터 오류가 잘 드러나면서도 잘 동작하는 코딩이 안전한 코딩인 것임. 이게 조금 더 어렵고 조금 더 복잡해서, 쉽게 말하면 고급 코딩 기법. 학교에서 실무 경험 적은 교수나 학원에서 개념 안 잡힌 강사들이 안전한 코딩에 대한 오해를 마구 유포하는데, 생각 없이 같이 따라하다가는 개념 없고 불안정한 코딩 헬에서 헤어나지 못하게 된다는 걸 알아야 함.
코틀린 좋아하는 사람으로써 굉장히 익숙한 문법이네요 ㅎㅎ 코틀린 처음 접할 때 굉장히 도움이 많이 되는 문법이라 생각했는데 이게 JS에도 적용이 된다니 좋은 소식입니다.
|| 하고 ?? 차이를 알아 두시면 더 좋습니다.
간략히 얘기하면 전자는 0, "", false, undefined 같은 falsy 값을 전부 검사 하는 연산자고 후자는 undefined 하고 null 같은 nullish 만 검사하는 연산자입니다.
const a = false || "어떻게";
// a => "어떻게"
const b = false ?? "사람 이름이";
// b => false
const c = undefined ?? null ?? "엄",
// c => "엄"
이 정보도 유용하네요!
준식
이거 중요하죠
헷갈렸는데 감사합니다
예시가 정말 좋네요
C#에서 먼저 본 문법인데 JS에도 쓸 수 있군요
5:42 영상의 내용을 듣는 내내 저걸 쓰면 에러 인디케이팅이 안되어서 ㅈ되는거 아냐? 라고 생각하고 있었는데 바로 언급해 주시네요 ㅎㅎㅎ
optional chaining을 언어 차원에서 지원해준다니 기분이 매우 죠습니다
Optional chaining은 진짜 신의 한수죠. 비정형데이터 기반의 가변적인 중첩 오브젝트에서 개고생이었는데 훨씬 간편해졌죠.
오 map같이 오브젝트가 없을때 에러띄워주는거 일일이 예외처리해주는걸 코드 이쁘게 짤 수 있겠네요
확실히 요즘 영상에서는 설명을 간결하게 하시네요. ^_____^
와 진짜 유용한 영상이네요! 가끔씩 자료형에 값이 할당되지 않아서 애먹은 적 있는데 이거 쓰면 앞으로 안전하게 꺼내쓸 수 있겠네요
이 문법 맛있게 잘 쓰고 있습니다.
이젠 돌아갈 수 없는 몸이 되어버렸어요.
자꾸 에러나서 골치아픈 부분이있었는데 이 영상을 보게된건 너무나 행운인듯 합니다.
진짜 자주 쓰는 기능이고 예외처리용 함수 만들어놔도 좀 귀찮은데 완전 편해보이네요
중첩 Object 일 때 사용하는 것이 의미가 있다는 것이 매우 중요하네요!! 감사합니다.
?는 자주 사용 했는데..
??는 몰랐네요 ㅋㅋㅋㅋㅋ 제법 쓸모있을거 같네여
옵셔널 체이닝 안쓰면 어짜피 참조시킬때 에러가 무조건 나니까 이 영상 안봐도 배울수밖에없는 구존듯
와;; 이거 오류낫을때 이방법찾아서 해결햇엇는데 ㅋㅋ 원리도 모르고쓰고있었는데 이런의미 엿군요
오브젝트 중첩 데이터꺼내쓸때 ?안붙히니 아무리해도 안됫엇는데 구글어딘가에서 ?쓰면 해결된다길래 썻엇는데 오잉?햇엇던 ㅋㅋ
회사 코드가 자바 ,코틀린, 플로터 혼용 잡탕앱이라 가끔 ?로 true false분기처리 해주는 문법이랑 혼동 올때가....
와.. 데이터 스플릿하고 없는 데이터 스플릿하게될 경우 예외처리 했는데 물음표 하나로 끝내다니...
정말 잼나게 잘가르쳐셔욥 ㅋㅋㅋㅋ 따봉 날리구갑니당! 할상 감사해영
안보면 코딩인생 끝날뻔 했네요. 감사합니다!!
애플손실 오져요 ㅠㅠㅠ 다음 영상 존버합니다! ??? : 필요하면 갖다 쓰시던가요.
3항 연산자 쓰다가 우연히 발견한 문법이었는데 optional chaining이라 하는군요.
타입스크립트 쓰는 입장에서는 익숙한 개념이네요. :)
"개체가 undefined인 것 같습니다."
코딩애플사랑해요 ?? "응 아니야"
응 아니야
유료 강의에도 업데이트 좀 해주시죠!!
'??' 뒤에 return 으로 html 태그도 가능하겠죠?? 그렇게 되면 스켈레톤 로딩을 훨씬 쉽게 나타낼수 있겠네요
오... 좋네요 바로 모든 브라우저에서 쓸 수 있는 건가요?
React TDD 강의요청 90일차.
돈 내고 좀 배워라 이 그지야
라고 생각할 듯
@@electrickinglogic 아침부터 뭐지 이 머저리는? 돈 이미 내고 다른 강의 보고있고 코딩애플이 가르쳐주는 TDD보고 싶어서 요청하는건데.
@@electrickinglogicㅋ
몰랐을스도 있지 말이 심하시네
@@jinseongkim728 그니까 자기가 그지라고 생각한게 아니고 그렇게 생각할듯이라고 한건데 이게 심한말인가?
optional chaining을 표현식에도 쓸 수 있던가요?
영상 항상 재밌어요 ㅋㅋㅋㅋ 아웃트로가 항상 ㅋㅋㅋㅋㅋㅋ
C#에서 많이 썼는데 JS도 지원하네요 ㄷㄷ
지금까지 타입스크립트 기능인줄 알았네요
타입스크립트가 더 앞서있는 기능이라고 보시면 됩니다.
현 리액트 주니어 개발자입니다 첫번째꺼는 별로 안쓰일거같은데 두번째 ??는 신세계네요 ㄷㄷㄷㄷ 몰랐는데 정말 감사합니다
와 개꿀문법이네욬ㅋㅋㅋㅋ 딱 필요하다고 생각한게 생겼네 ㅋㅋㅋ
최종적으로 id 값을 뽑아내지 못하면 '뭬요' 를 반환합니다요. 구독자이벤트같은거 안하나요..
??는 typeof undefined 대신해서 활용하기 좋네요
진짜 쓰레기언어에 산소호흡기붙이고 로봇팔붙이고 뭐 다 갖다붙여서 쓰고 있네
신문법이라기에는 나온지는 꾀 오래되지않았나요? es6때 같이 나온가 아닌가... 신문법이라고 해서 봤는데 이미 알고 있던거네요
c# 에 문법이 드디어 자바스크에도! 자바에도 해주면 고마운데...
슥 봤는데 swift의 optional이랑 비슷하네요!
으잉ㅋㅋㅋㅋ 유익한 영상 잘보고 갑니다!
코틀린 ?. ?: 걍 그대로 가져왔네
3항연산, if not null같은 기능이네요
있으면 출력하고 없으면 안하는...
value ? value : undefined랑 비슷하지만 좀 더 이쁘게.. 같은 느낌이죠
옵셔널 체이닝 ㅋㅋㅋ
자바스크가 점점 은근슬쩍 타입스크 닮아가네 ㅋㅋㅋ
js에서 옵셔널 지원하는 줄 첨 알았네요 ㅡ.,ㅡ
앞으로 모든 언에어 널러블이 많이 적용 되길 기대합니다!!!!
오우,,,굿입니다.
후후 코틀린이랑 C#은 이미 있지롱
오우 꿀팁 나이따,
삼항 연산자 합친 모양이네요 뜻도 같고
편리하긴 하지만 편리하다고 잘못 사용하면 오히려 독이 된다는 걸 알아야 함.
특히 코딩 오류나 데이터 오류를 숨겨버리는 역할을 하면 독이 됨.
코딩 오류나 데이터 오류는 늘상 있는 것인데,
안전한 코딩이라면 코딩 오류나 데이터 오류에도 잘 동작하는 코딩이라고 간단하게 생각해버림.
그렇지만 코딩 오류나 데이터 오류를 숨겨버리고 찾기 어렵게 만들면서 잘 동작하게 만드는
코딩은 전혀 안전하지 않고, 오히려 코딩 헬을 만드는 것임.
?./?? 같은 문법도 코딩 오류나 데이터 오류에도 간단하게 잘 동작하도록 만들어줘서 편리하지만,
그 결과로 코딩 오류나 데이터 오류가 숨겨져 버린다면 코딩 헬이 열리게 되는 것임.
코딩 오류나 데이터 오류가 잘 드러나면서도 잘 동작하는 코딩이 안전한 코딩인 것임.
이게 조금 더 어렵고 조금 더 복잡해서, 쉽게 말하면 고급 코딩 기법.
학교에서 실무 경험 적은 교수나 학원에서 개념 안 잡힌 강사들이 안전한 코딩에 대한 오해를 마구 유포하는데,
생각 없이 같이 따라하다가는 개념 없고 불안정한 코딩 헬에서 헤어나지 못하게 된다는 걸 알아야 함.
공감합니다. 이런거 남발하고 잘못쓰면 디버깅이 어렵죠
swift에서 많이 보던 문법이네요
모던 프로그래밍 언어에서 공통적으로 사용하는 유용한 문법들이 있습니다. 다른 것도 찾아보시면 좋음
문법보다는 개념이라고 하는게 좋겠네요 문법은 살짝씩 다를 수 있으니
? - 쩜이 두개 이상일때
?? - 왼쪽이 null이면 오른쪽 보여주세요 (undefined ?? '로딩중')
-obj.data?.name?.id ?? '뭐요'
swift 할때 옵셔널 채이닝 많이 써먹었는데
신문법을 보고 나는 말하지
.... .?
??
내용 너무 좋은데 말투가 화나신거 같음 ㅋㅋㅋㅋ 이 악물고 말하는 느낌 ㅋㅋ
오 스위프트 옵셔널 아님?
optional 해주는거구나
뭐지 소심한 개발자인가
아 이거.. C#에도 이미 있죠. 아 근데 9개월 전이네
인강 사이트도 관리 해주세요 ..ㅜ
이거 es6 쪽에 추가로 올라옴여
물음표가 요즘 유행인가
갈고리 농장이요
오............................................개쩌네이거
와 요즘 UNDEFINED 예외처리하는게 너무 많아서 힘들었는데
nvl 기능 좋다
꿀팁이네요.
파이썬 or 이랑 같은 느낌이군뇨
이번엔 하트줍서 사과센세
목소리가 신승범같냐 기계적
Node14부터 사용가능합니다ㅜ
딕셔너리 잖아
이제 TS 에서도 when문 앙망
이게 코드 깔끔해져서 ㄹㅇ 개꿀임
감사하빈다.
그러면 ?? 랑 && 똑같은거 아닌가요??
반대로 || 랑 비슷한 거임
&&는 AND고 ??는 OR라서 달라요!
??는 오직 null 과 undefined 만을 falsy 값으로 취급합니다. 그리고 기능이 비슷해서 헷갈리신거라면 ||과 비슷하다고 보는게 맞습니다.
신문법이라기엔 좀 된거아닌가
코틀린에서 보던걸 자스에서도
와 2천번째 좋아요가 나라니 ㄷㄷ
랜더링이 되기전 null과 undefined 포인트 에러를 막아주기위해 매번 잡아줫는데 이제 저거 쓰면 겁나편해짐 저거모르면 인생망하긴함
오오....
내일 까먹음 ㅋㅋ
으잉
개발자 특유의 개소리 ㅋㅋ 웃겨요
맨날 (typeof user == 'object') ? (typeof user.info == 'object') ? (typeof user.info.meta) ? ........ 무한 반복했었는데.. 감사합니다
으잉~
와 이런 게 있었네요..
굿
자꾸 왼쪽이 비었다고 하는데 안비었는데?
ㅋㅋㅋㅋ
개꿀이네ㅋ
.? 이거 약간.? 여초식.? 말투.? 같아!
오오오오
123
let num = this.name?.indexOf('코딩애플형존나잘생김') ?? -1;
이거 개꿀