๐Ÿ“š Language/TypeScript

1. ํ‚ค(Key)์™€ ํ”„๋กœํผํ‹ฐ(Property) ๊ฐ์ฒด(Object)๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด ํ‘œํ˜„ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ด๋‹ค. ๊ฐ์ฒด ์•ˆ์˜ ๊ฐ ๋ฐ์ดํ„ฐ ์š”์†Œ๋ฅผ ํ”„๋กœํผํ‹ฐ๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ํ”„๋กœํผํ‹ฐ๋Š” ์ด๋ฆ„(ํ‚ค)๊ณผ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. const person = { name: 'Alice', age: 30, job: 'Engineer' }; name, age, job์€ key์ด๊ณ  Alice, 30, Engineer์€ ํ”„๋กœํผํ‹ฐ์˜ ๊ฐ’์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. 2. ํƒ€์ž…(Type) ํƒ€์ž…์€ ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜, ํ•จ์ˆ˜ ๋“ฑ์— ์–ด๋–ค ์ข…๋ฅ˜์˜ ๊ฐ’์ด๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๋ช…์‹œํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. TypeScript์—์„œ๋Š” ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜์˜ ์ธ์ž ๋“ฑ์˜ ๊ฐ’์ด ์–ด๋–ค ํ˜•ํƒœ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. const age: n..
TypeScript ์—์„œ ๋ณ€์ˆ˜๊ฐ€ string ํ˜•ํƒœ์—ฌ์•ผ ํ•˜๋Š”๋ฐ undefined์ผ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ํƒ€์ž… ์—๋Ÿฌ๋กœ, ํ”ํ•˜๊ฒŒ ๋ฐœ์ƒํ•œ๋‹ค. ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ•ด๊ฒฐ์ฑ…์€, ๊ฐ’์ด undefined์ผ ๊ฒฝ์šฐ ๋นˆ ๋ฌธ์ž์—ด์ธ ''์„ ํ• ๋‹นํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ์•„๋ž˜๋Š” ๊ทธ ์˜ˆ์‹œ์ด๋‹ค. const userName: string = userDetails?.userName || '';
๋‹ค์Œ ์ฝ”๋“œ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ผ๊นŒ? {relData?.totalElements > 1 && ( handleChangeRepPopup(!showChangeRepPop)} style={{ marginRight: '10px' }} > {t('button.filecomponent.changeRep')} )} โ†’ 'relData.totalElements' is possibly 'undefined'. ์ฝ˜์†”์— ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ์ถœ๋ ฅ ๋œ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ, relData.totalElements ๊ฐ€ undefined ์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€ relData && relData.totalElements > 1 && ( ์ด๋ ‡๊ฒŒ ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. relData๊ฐ€ ์กด์žฌํ•  ๋•Œ๋งŒ ๋‹ค์Œ..