PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2017/10/11 15:40:45
Name slipzealot
Subject [질문] 자바스크립트 질문드립니다
자바스크립트 문법 관련 질문드립니다.
자바스크립트로 쓰여진 문장을 보면 가끔
com = com ||{};
com.works = com.works||{};
이런식으로 뒤에 ||{};가 붙어있는 경우가 있는데요,
어떤 경우 뒤에 ||{};가 붙는지, 왜 붙는지 알고 싶습니다. 도와주세요~

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
유리한
17/10/11 15:44
수정 아이콘
com = com || {} 는 아래와 같다고 생각하시면 됩니다.

if com == null
{
....com = {}
}
17/10/11 15:46
수정 아이콘
대부분의 언어에서 a || b를 evaluation할 때 a가 True이면 a를, False이면 b를 가지도록 되어 있습니다.
그래서 저 경우에는 앞의 대상이 비어있으면 {} 으로 default value를 주려고 하는 거에요.
slipzealot
17/10/11 16:13
수정 아이콘
답변감사합니다.
추가로 하나만 더 질문을 드리고 싶은데요,
굳이 com = com || {} 을 쓰는 이유는 무엇때문인가요?
17/10/11 16:39
수정 아이콘
그 코드에서의 의도는 컨텍스트를 같이 봐야 알 수 있는데, 일반적으로는 밑에서 null로 인한 오동작을 방지하려는 의도라고 봐야합니다.
예를 들어 밑에 com["foo"] = "bar" 같은게 있다고 하면, com이 null일때는 에러가 나고, {}일때는 에러 없이 동작하게 됩니다.
혹은 Object.keys(com).length 처럼 길이를 구하는 코드가 있다고 치죠. 이것도 마찬가지로 null이나 undefined일땐 에러가 납니다.
저런 코드를 매번 if(com == null) 같은걸로 감싸자니 귀찮고 그러니까 비어있는 {} 를 채우는거죠.
slipzealot
17/10/11 17:09
수정 아이콘
친절한 설명 감사합니다! 덕분에 쉽게 이해가 됐어요
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
110211 [질문] 갭투자와 부동산 관련 기초지식 [4] 대관람차1323 17/10/11 1323
110210 [질문] 욕설 관련 모욕죄 고소 시 피의자 특정은 어떻게 하나요? [6] Aquaris3832 17/10/11 3832
110209 [질문] LCHF 식단 이렇게 해도되나요? [33] Demi7472 17/10/11 7472
110208 [질문] 트위치 스트리머 재방송 시청하시는 분들께 하나 여쭤볼게 있습니다. [13] 보로미어5508 17/10/11 5508
110207 [질문] 입맛 없는 아버지를 위한 음식 추천해주세요. [14] 주여름1929 17/10/11 1929
110206 [질문] [시사회] '부라더' 같이 보러가실분 [8] 마인부우1770 17/10/11 1770
110204 [질문] 매연수리와 폐차로 고민중입니다. [6] kogang20011859 17/10/11 1859
110203 [질문] 연금저축 or 종신보험 관련 질문.. [16] 자몽2715 17/10/11 2715
110202 [질문] 컴퓨터 고장 좀 질문합니다. [3] 알트라1315 17/10/11 1315
110201 [질문] 자바스크립트 질문드립니다 [5] slipzealot1208 17/10/11 1208
110200 [질문] 7급, 9급 공무원 시험 관련 질문드립니다. [8] 동싱수싱3125 17/10/11 3125
110199 [질문] 도쿄 4박5일 나홀로 여행 일정 봐주세요! [10] 인생국수3017 17/10/11 3017
110198 [질문] 히오스 팀랭하시는분 계신가요 [1] 램지2025 17/10/11 2025
110197 [질문] 신혼집을 위한 대출 [19] 잠이오냐지금3731 17/10/11 3731
110196 [질문] 서류 더미에 1mm 단위의 벌레 대처 어떻게 해야 좋을까요? [6] 시나브로5458 17/10/11 5458
110195 [질문] 사회초년생 돈모으기 관련 조언부탁드립니다. [7] Genius2718 17/10/11 2718
110194 [질문] 게임 좀 찾아주실 수 있을까요 [4] 그말싫1208 17/10/11 1208
110193 [질문] [pc] 배그용 PC 견적을 뽑았는데 한번 봐주세요 [7] 유포늄3429 17/10/11 3429
110192 [질문] 토지 청약로 계좌를 빌려달라는데 질문드립니다.(삭제) [3] 다이어트1861 17/10/11 1861
110191 [질문] 컴퓨터 고장 문의 질문드립니다. [4] 토욜저녁축구와치맥캬2047 17/10/11 2047
110190 [질문] 배치프로그래밍 질문입니다. [5] Patrick Jane2173 17/10/11 2173
110189 [질문] 프러포즈...어떻게 하면 좋을까요? [19] 파츠3840 17/10/11 3840
110188 [질문] (사진) TV 수리비용을 대강이라도 알 수 있을까요? [6] Abrasax2374 17/10/11 2374
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로