๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Daily/Today I Learned

201214_TIL

by joooing 2020. 12. 15.
๋ฐ˜์‘ํ˜•

๐ŸŽ ์˜ค๋Š˜ ํ•œ ์ผ


โœ”๏ธ Javascript ๋ฐฐ์—ด(Array), ๊ฐ์ฒด(Object) ๊ณต๋ถ€
๋ฐฐ์—ด๊ณผ ๊ฐ์ฒด ๋ชจ๋‘ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์š”์†Œ๋“ค์„ ํ•œ ๋ฒˆ์— ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ด ๋‘ ๊ฐ€์ง€๋ฅผ ์ข€ ๋” ๋Šฅ์ˆ™ํ•˜๊ฒŒ(?) ์‚ฌ์šฉํ•  ์ค„ ์•Œ๊ฒŒ ๋˜๋ฉด ์ „๋ณด๋‹ค ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€ ๋Š๋‚Œ์ด ๋“ ๋‹ค.

โœ”๏ธ ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ ์ฝ๊ธฐ
- ๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€์™€ '์‹œ๋„ˆ์ง€'๋ฅผ ๋‚ด๊ณ ์‹ถ๋‹ค๋ฉด ๊ฐ€๋ฒผ์šด ์š”๊ตฌ๋ฅผ ํ•˜๊ฑฐ๋‚˜ ํ˜ธ๊ธฐ์‹ฌ์„ ์ด๋Œ์–ด๋ƒ„์œผ๋กœ์จ ์ฐธ์—ฌํ•˜๋„๋ก ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. (๋ณ€ํ™”์˜ ์ด‰๋งค๊ฐ€ ๋˜๊ธฐ)
- ๋งŽ์€ ์‚ฌ์šฉ์ž๋“ค์€ ์™„๋ฒฝํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•ด ์ผ ๋…„์„ ๊ธฐ๋‹ค๋ฆฌ๋Š๋‹ˆ, ์ฐจ๋ผ๋ฆฌ ์˜ค๋Š˜ ๋‹น์žฅ ์ข€ ๋ถˆํŽธํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์–ด ํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ๋„ˆ๋ฌด ์—‰๋ง์ด์–ด์„œ๋Š” ์•ˆ๋œ๋‹ค. '์ ๋‹นํžˆ' ์–ธ์ œ ๋ฉˆ์ถฐ์•ผ ํ•˜๋Š”์ง€ ์•„๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•˜๋‹ค!
- ์ง€์‹์— ๋Œ€ํ•œ ํˆฌ์ž๊ฐ€ ์–ธ์ œ๋‚˜ ์ตœ๊ณ ์˜ ์ด์œค์„ ๋‚ธ๋‹ค. ์ฃผ๊ธฐ์ ์œผ๋กœ, ๋‹ค์–‘ํ•˜๊ฒŒ, ๊ท ํ˜•์žˆ๊ฒŒ ์ง€์‹์— ํˆฌ์žํ•˜์ž
- ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์†Œํ†ต์€ ์ค‘์š”ํ•˜๊ณ  ํ•„์ˆ˜์ ์ด๋‹ค. ํšŒ์˜๋ฅผ ํ•˜๊ณ , ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ๋ฅผ ์ดํ•ดํ•˜๊ณ , ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉฐ ๊ธฐ๊ณ„์—๊ฒŒ ์˜๋„๋ฅผ ์ „๋‹ฌํ•˜๊ณ , ์‚ฌ๊ณ ๊ณผ์ •์„ ๋ฌธ์„œํ™”ํ•ด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ์ „๋‹ฌํ•ด์•ผ ํ•œ๋‹ค. ํšจ๊ณผ์ ์œผ๋กœ ์†Œํ†ตํ•˜๊ธฐ ์œ„ํ•ด์„  ๋‚ด๊ฐ€ ๋งํ•˜๊ณ  ์‹ถ์€ ๊ฒŒ ๋ฌด์—‡์ธ์ง€๋ถ€ํ„ฐ ์•Œ์•„์•ผํ•˜๋ฉฐ, ์ฒญ์ค‘์„ ํŒŒ์•…ํ•ด ์ ๋‹นํ•œ ํƒ€์ด๋ฐ์— ์ ์ ˆํ•œ ์Šคํƒ€์ผ๋กœ ์ „๋‹ฌํ•ด์•ผ ํ•œ๋‹ค.

 

๐ŸŽ ๊ธฐ์–ตํ•  ๊ฒƒ


โœ”๏ธ of ์—ฐ์‚ฐ์ž (for element of array)
array์—์„œ ๊ฐ ์š”์†Œ(element) ๊บผ๋‚ด๋Š” ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ, for(int i=0; i<array.length; i++)์™€ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•œ๋‹ค.
โœ”๏ธ in ์—ฐ์‚ฐ์ž 
๊ฐ์ฒด(Object)์—์„œ key์˜ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ด boolean๊ฐ’(true/false)์„ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ์—ฐ์‚ฐ์ž 

โœ”๏ธ ๊ฐ์ฒด value์— ์ ‘๊ทผํ•˜๊ธฐ
   ๋ฐฉ๋ฒ•1 : Dot notation (ex. student.id)
   ๋ฐฉ๋ฒ•2 : Bracket notation (ex. student['id'])
        -> ๋”ฐ์˜ดํ‘œ๊ฐ€ ์—†์œผ๋ฉด ๋ณ€์ˆ˜๋ช…์œผ๋กœ ์ธ์‹ํ•ด๋ฒ„๋ฆผ!
        -> ๋™์ ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์‚ฌ์šฉ (key๊ฐ’์ด ๋ณ€ํ•  ๋•Œ)

โœ”๏ธ push, pop
๋ฐฐ์—ด ๋งจ ๋์— ์š”์†Œ ์ถ”๊ฐ€, ์‚ญ์ œ (push๋Š” ์ถ”๊ฐ€ ํ›„์˜ length๋ฅผ, pop์€ ์‚ญ์ œ๋œ ์š”์†Œ๋ฅผ return)
โœ”๏ธ unshift, shift
๋ฐฐ์—ด ๋งจ ์•ž์— ์š”์†Œ ์ถ”๊ฐ€, ์‚ญ์ œ (unshift๋Š” ์ถ”๊ฐ€ ํ›„์˜ length๋ฅผ, shift๋Š” ์‚ญ์ œ๋œ ์š”์†Œ๋ฅผ return)

โœ”๏ธ console.table 
tableํ˜•ํƒœ๋กœ ์ฝ˜์†”์— ์ถœ๋ ฅ (๋ฐฐ์—ด์€ index, value๊ฐ’์„ column์œผ๋กœ ์ถœ๋ ฅ)

โœ”๏ธ indexOf, includes
๋‘˜ ๋‹ค ์–ด๋– ํ•œ ์š”์†Œ๊ฐ€ ๋ฐฐ์—ด์— ํฌํ•จ๋˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค. indexOf๋Š” ์š”์†Œ์˜ index๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋ฉฐ(์กด์žฌX์‹œ -1), includes๋Š” ์š”์†Œ์˜ ํฌํ•จ์—ฌ๋ถ€๋ฅผ true, false(boolean)๋กœ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค. ํฌํ•จ์—ฌ๋ถ€๋งŒ ์•Œ๋ ค์ฃผ๋Š” includes๋ณด๋‹ค๋Š” ์–ด๋””์— ์œ„์น˜ํ•œ ์ง€ index๊นŒ์ง€ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” indexOf๊ฐ€ ๋” ๋ฒ”์šฉ์ ์ด๊ณ  ์œ ์šฉํ•˜๋‹ค!

โœ”๏ธ array.slice(start, end)
๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๊ฐ€ start~(end-1) ๋ฒ”์œ„์ธ ๋ถ€๋ถ„๋งŒ ์ž˜๋ผ์„œ returnํ•ด์คŒ
โœ”๏ธ str.split(separater)
๋ฌธ์ž์—ด(str)์„ ๊ตฌ๋ถ„์ž(separater)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž˜๋ผ์„œ returnํ•ด์คŒ (ex. '010-1212-1212'.split('-')  //['010', '1212', '1212'])
โœ”๏ธ array.splice(start, deleteCount, items)
๋ฐฐ์—ด ์ค‘๊ฐ„์— ์š”์†Œ๋ฅผ ๋ผ์›Œ๋„ฃ๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ผ์›Œ๋„ฃ๊ณ  ์‹ถ์€ ์ง€์ ์„ ์‹œ์ž‘์ง€์ (start)์œผ๋กœ ์ง€์ •ํ•˜๊ณ , ์‚ญ์ œํ•  ์š”์†Œ ๊ฐœ์ˆ˜๋ฅผ deleteCount๋กœ ์ง€์ •ํ•œ๋‹ค. ์ด ๋•Œ deleteCount=0์œผ๋กœ ๋‘๋ฉด ์‚ญ์ œ ๋Œ€์‹  ๋ผ์›Œ๋„ฃ๊ธฐ(insert)๋ฅผ ํ•˜๊ฒ ๋‹ค๋Š” ๋œป์ด ๋œ๋‹ค! items๋Š” ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ ์š”์†Œ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์ ์–ด์ฃผ๋ฉด ๋œ๋‹ค.


 

๐ŸŽ ๋” ๊ณต๋ถ€ํ•  ๊ฒƒ


โœ”๏ธ iterator
โœ”๏ธ immutable, mutable
โœ”๏ธ ํ˜ธ์ด์ŠคํŒ…, ํด๋กœ์ €
๋ฐ˜์‘ํ˜•

'Daily > Today I Learned' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

201216_TIL  (0) 2020.12.17
201215_TIL  (0) 2020.12.16
201212_TIL  (0) 2020.12.13
201211_TIL  (0) 2020.12.12
201210_TIL  (0) 2020.12.10

๋Œ“๊ธ€