Language
91
[Java] HashMap์์ Custom Class๋ฅผ Key๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ, ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
0. ์์๋ณผ ๊ฒ1. Hash Map ์ด๋? ํํ์ ๋ฐ์ดํฐ ์์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐKEY๋ฅผ ํ์ฉํด HashMap์ VALUE์ ์ ์ฅ, ์ญ์ , ์กฐํ ํ๋๋ฐ ํ๊ท O(1)์ ์๊ฐ์ด ๋ ๋ค. ์์ ENTRY๋ผ๊ณ ๋ถ๋ฅธ๋ค.KEY ๊ฐ์ ์ค๋ณต๋ ์ ์๊ณ , VALUE ๊ฐ์ KEY ๊ฐ์ด ๋ค๋ฅด๋ค๋ฉด ์ค๋ณต์ ์ฅ์ด ๊ฐ๋ฅํ๋ค.2. HashMap ๋ด๋ถ ๊ตฌ์กฐHashMap์ ํฌ๊ฒ HASH ํจ์์ Hash Bucket์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.Hash Bucket์ ๊ฐ์ ์ ์ฅํ๋ ์ฅ์๋ก Array๋ก ๊ตฌํ๋์ด ์๋ค.Hash ํจ์๋ ์๋ฃ๊ตฌ์กฐ์ ์ ์ฅ๋ ์
๋ ฅ ๊ฐ ๋ง๋ค์ Hash ๊ฐ์ ๋ฐํํ๋ค. ํด๋น Hash ๊ฐ์ Hash Bucket์ Index์ด๋ค. ๋ฐ๋ผ์ Hash ํจ์๋ ์
๋ ฅ ๊ฐ์ด ์ ์ฅ๋ ์์น๋ฅผ ์๋ ค์ฃผ๋ ๋ฐฉํฅํค ์ญํ ์ ํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๊ฒ ๋ค.์ด์ ์ค์ ..
2024.12.31
Language/Java
[Java] JSON ์ง๋ ฌํ์ ๋ชจ๋ ๊ฒ
1. JSON ์ด๋ ๋ฌด์์ธ๊ฐ์? ๐ก(1) ์ ์JSON์ด๋ JavaScript Object Notation์ ์ฝ์๋ก Javascript ๊ฐ์ฒด ํํ๋ก ๋์ด์๋ ๋ฐ์ดํฐ ๊ตํ ์์์ด๋ค.JS ๊ฐ์ฒด์ ํํ : javascript ๊ฐ์ฒด๋ (key: value) ํํ์ ๊ฐ๋ค์ด ๋์ด๋ ๊ตฌ์กฐ์ด๋ค. java์์ HashMap๊ณผ ์ ์ฌํ๋ค๊ณ ๋ณผ ์ ์๋ค. js์์๋ ๋ฐ๋ก ๋ณ์์ ๋ํ ํ์
์ ์ธ์ด ํ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด ๋ฌธ๋ฒ์ด ๋น๊ต์ ๊ฐํธํ๋ค.(2) ํน์งa. ์ธ์ด ๋
๋ฆฝ์ ์ธ ์์์ด๋ค.๋ถ๋ช
JS ๊ฐ์ฒด ํํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง ์์์ด์ง๋ง, javascript ๋ฟ๋ง ์๋๋ผ ๋๋ค์์ ์ธ์ด, ๊ทธ ์ธ์ด ๊ธฐ๋ฐ ํ๋ ์์ํฌ์์ ํ์ฉํ ์ ์๋ค.b. ์ํ๋ฅผ ๊ตํํ๋ค.JSON์ ํตํด ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ๋ ํน์ ๊ฐ์ฒด ํน์ ๊ฐ๋ค์ ์ํ์ด๋ค. ๊ธฐ๋ฅ์ ์๋ฏธํ..
2024.11.05
Language/Java
JAVA์์์ ๊ฐ์ฒด ์ง๋ ฌํ ๋น๊ต (Byte Stream ์ง๋ ฌํ vs JSON ์ง๋ ฌํ)
0. ์์๋ณผ ๋ด์ฉJava์ ๊ฐ์ฒด ์ง๋ ฌํ์๋ ๋ ๊ฐ์ง ์ข
๋ฅ๊ฐ ์๋ค.์ฒซ ๋ฒ์งธ๋ก, Serializable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค์ ๊ฐ์ฒด๋ฅผ Byte Stream ์ง๋ ฌํํ๋ ๊ฒ ์ด๋ค.๋ ๋ฒ์งธ๋ก, RESTful API Sever๋ฅผ ๊ตฌํํ ๋, ๋ฐ์ดํฐ ๊ตํ์ ์ํด ๊ฐ์ฒด๋ฅผ JSON ์ง๋ ฌํํ๋ ๊ฒ ์ด๋ค.๋ ๊ฐ์ง์ ์ฐจ์ด์ ์ ์ด๋ ดํ์ด ์์ง๋ง, ์ ๋๋ก ๊ตฌ๋ถํ์ฌ ๊ธฐ์ตํ์ง ์์๋๋, ๋ ๋ฐฉ๋ฒ์ ๊ตฌํ ๋ฐฉ์๊ณผ ํ์ฉ๋ฒ์ด ์๋ก ๋ค์ฃฝ๋ฐ์ฃฝ ์์ฌ ์์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ ๊ฐ์ง ํํ์ ์ง๋ ฌํ์ ๋ํด ์ ํํ ์์๋ณด๊ณ , ๊ทธ ์ฐจ์ด์ ์ ๊ตฌ๋ถํ๋ ค ํ๋ค.์ฌ๊ธฐ์๋ ๋จผ์ ๋ ์ง๋ ฌํ์ ์๋ฏธ๋ง ๊ฐ๋ตํ ์์๋ณด๊ณ ์ฐจ์ด์ ์ค๋ช
์ ๋ ์ง์คํ๊ฒ ๋ค.๋ง์ฝ ๋ ์์ธํ ์๊ณ ์ถ์ ๋ถ์ ๊ฐ ํญ๋ชฉ ๋ณ ๋ ์์๋ณด๊ธฐ๋งํฌ๋ฅผ ํตํด ํ์ธํ๊ธฐ ๋ฐ๋๋ค.๋ค์๊ณผ ๊ฐ์ ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ..
2024.11.04
Language/Java
java TreeMap์ ๋ํด ์์๋ณด์!
(1) ์ ์Red-black Tree๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํํ Key ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ๋๋ Map์ด๋ค.์ ๋ ฌ ๊ธฐ์ค์ default๋ก ์ค๋ฆ์ฐจ์์ด๊ณ , ๋งค๊ฐ๋ณ์๋ก Comparator๋ฅผ ๋ฃ์ผ๋ฉด, ๊ฐ๋ฐ์ ์
๋ง์ ๋ฐ๋ผ ๋ฐ๊ฟ ์ ์๋ค. TreeMap map = new TreeMap((o1,o2) -> (return o1.score - o2.score)); Red-black Tree ๋? ์ด์งํ์์ ๋ณด์ํ์ฌ ์ฑ๋ฅ์ ๊ฐ์ ํ Tree ์๋ฃ ๊ตฌ์กฐ์ด๋ค. ์ด์งํ์์ ์ผ๋ฐ์ ์ผ๋ก O(logN)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง์ง๋ง, ๋ฐ์ดํฐ๊ฐ ํ์ชฝ์ผ๋ก ์น์ฐ์ณ์, ์ผ์ํ Tree๊ฐ ๋์ฌ ๊ฒฝ์ฐ(ex- ๊ณ์ ์์ ๊ฐ์ ๋ฐ์ดํฐ๋ง ์
๋ ฅ ๋ฑ) O(n)์ด๋ผ๋ ์๊ฐ๋ณต์ก๋๊ฐ ๋ ๋ค. ์ด์ ๋นํด Red-black Tree๋ ๋ถ๋ชจ๋
ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ํฐ ๊ฐ์ ์ค๋ฅธ์ชฝ, ์์..
2024.07.18
Language/Java
Enum์ ๋ํ์ฌ
Enum์ ์ด๊ฑฐํ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. (์์ด๋ก๋ enumerated type์ด๋ผ ํ๊ณ ์ด๊ฒ์ ์ค์๋ง์ด๋ค.) Enum์ ‘์์’ ํน์ ‘๋ฉค๋ฒ’ ๋ผ ๋ถ๋ฆฌ๋ ๋ช
๋ช
๋ ๊ฐ์ ์งํฉ์ ์ด๋ฃจ๋ ์๋ฃํ์ด๋ค. ์ฌ๊ธฐ์ ‘๋ช
๋ช
๋๋ค.’๋ ์ด๋ค ๋ฌผ๊ฑด์ด๋ ์ผ์ ์ด๋ฆ์ด ์ง์ด์ ธ ๋ถ์ฌ์ง๋ ๊ฒ์ ๋งํ๋ค. Enum์ ๋ฉค๋ฒ๊ฐ ๋๋ ๋
์๋ค์ ์ฃผ๋ก ์ด๋ค ๋ฌผ๊ฑด์ด๋ ์ผ์ ์๋ณํ๊ธฐ ์ํ ์์ ์ญํ ์ ํ๋ค.
2024.01.16
Language/Java
๋ชฐ๋๋ ๊ฒ
1. Intger ์ปฌ๋์
ํ๋ ์์ํฌ๋ฅผ int ๋ฐฐ์ด๋ก ๋ฐ๊พธ๊ธฐ. int [] arr = map.keySet().stream().mapToInt(x->x).toArray(); maptoInt(x->x): ์ปฌ๋์
ํ๋ ์ ์ํฌ์๋ ๊ฐ๋ค์ Wrapper Class์ธ Integer๋ก ๋ค ์ ์ฅ ํ๋ค. ํ์ง๋ง ๋ฐฐ์ด์ ์ ์ฅํ ๋ ค๋ฉด type์ด ์์ํ์
(int, double,...) ์ฌ์ผ ํ๋ค ํด๋น maptoInt๋ ์ปฌ๋์
ํ๋ ์ ์ํฌ๊ฐ์ IntStream์ผ๋ก ๋ฐ๊ฟ์ค๋ค. (IntStream ์์ ํ์
int์ ๋ํ Stream ์ด๋ค.) toArray(): ์ปฌ๋์
์ ๋ฐฐ์ด๋ก ๋ฐ๊ฟ์ฃผ๋ ํจ์. (์์ ํ์
์ผ๋ก ๋ฐ๊ฟ ๊ฑฐ๋ฉด, ์ธ์๋ ์์ ํ์
์ด์ด์ผ ํ๋ค.) 2. String ArrayList๋ฅผ String ๋ฐฐ์ด๋ก ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ String..
2023.05.21
Language/Java
์ฝ๋ฐฑ (Call Back)
1. ์ฝ๋ฐฑ์ด๋? ํ๋์ ์ฝ๋์ ์ธ์๋ก ๋ค์ด๊ฐ๋ ์คํ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ Call back์ด๋ผ ํ๋ค. ์ด๋ค ํจ์์ ์ธ์๋ก ๋ค์ด๊ฐ๋ ์คํ ๊ฐ๋ฅํ ํจ์๋ฅผ Call back ํจ์๋ผ๊ณ ํ๋ค. 2. ์ฝ๋ฐฑ ์์ 3๊ฐ์ง (1) ๊ธฐ๋ณธ์ ์ธ ๊ฒ const a = (callback) => { console.log("A"); callback(); }; const b = () => { console.log("B"); }; a(b); ๋งจ ๋ง์ง๋ง ๋ฌธ์ ๋ณด๋ฉด, a๋ผ๋ ํจ์์ ์ธ์๋ก b ํจ์ ์์ฒด๋ฅผ ๋ฃ์๋ค. ๊ทธ๋ฌ๋ฉด console.log(b) ํ์ ๋ ์ฒ๋ผ b ํจ์ ์์ฒด๊ฐ a์ ์ธ์๋ก ๋ค์ด๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ 3๋ฒ์งธ ์ค์ ๋ณด๋ฉด callback()์ ์ธ์๋ก ๋ฐ์ b() ํจ์ ์์ฒด๋ฅผ ์คํํ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค. ๋ฐ๋ผ์ ์ถ๋ ฅ์ด ๋ค์๊ณผ ๊ฐ๋ค. (2) ์์ฉ // ..
2023.04.20
Language/JS
์ฆ์ ์คํ ํจ์ (IIFE)
1. ์ฆ์์คํํจ์ ํจ์๋ ์๋ ์ ์ธ๋ถ (ํน์ ํํ์)๊ณผ ํธ์ถ๋ถ๊ฐ ๋ฐ๋ก ํ์ํ๋ค. ์๋ํ๋ฉด ์ ์ธ๋ถ๋ ํจ์์ ๋ด์ฉ์ ๋ํด ๊ธฐ์ ๋ง ํ์ฌ ๋์ ๊ณณ์ด๊ณ , ํธ์ถ๋ถ๋ ํจ์์ ๋ด์ฉ์ ์ฐ๋ ๊ณณ ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ฆ์ ์คํํจ์๋ ํจ์์ ์ ์ธ๊ณผ ํธ์ถ์ ํ๋ฒ์ ํ๋ ํจ์๋ฅผ ๋งํ๋ค. ๋ฐ์ ์ฆ์ ์คํํจ์ ์ฌ์ฉ ํจํด์ ๋ฐฐ์ฐ๊ฒ ์ง๋ง, ๋ํ์ ์ธ ํจํด์ผ๋ก ์ฆ์์คํํจ์์ ๋ชจ์ต์ ์ดํด๋ณด๋ฉด, //(์คํํ ํจ์)(์ธ์); // ์์ ((a) => { console.log(a*2); })(7); ์ด์ ๊ฐ๋ค. ()() ๊ฐ ๋ถ์ด ์๋ ํํ๋ก, ์ฒซ๋ฒ์งธ ()์๋ ์คํํ ํจ์, ๋๋ฒ์งธ ()์๋ ํจ์์ ๋ค์ด๊ฐ ์ธ์๋ฅผ ๊ธฐ์ ํ๋ฉด ๋๋ค. 2. ํจํด // ์ฆ์ ์คํ ํจ์ ํจํด // 1. ํ์ดํ ํจ์ ์ฌ์ฉ ํจํด -> ํ์ดํ ํจ์๋ก ์ฆ์ ์คํ ํจ์๋ฅผ ์ธ ์ ์๋ ํจํด์..
2023.04.20
Language/JS
ํ์ดํ ํจ์
0. ํ์ดํ ํจ์๋ ๋ณ์์ ์ต๋ช
ํจ์๋ฅผ ํ ๋นํ๋ ํ์์ด๋ฏ๋ก ํจ์ ์ ์ธ์ด ์๋๋ผ ํจ์ ํํ์ ์ทจ๊ธ์ ๋ฐ๋๋ค. (ํธ์ด์คํ
๋ถ๊ฐ) 1. ํ์ดํ ํจ์์ ํจํด const a = () => {}; // ๋งค๊ฐ๋ณ์๊ฐ ํ๋์ด๋ฉด ์๊ดํธ ์๋ต ๊ฐ๋ฅ const b = x => {}; const c = (x, y) => {}; // ๋ง์ฝ ํจ์ ๋์๋ถ๋ถ์ ๋ค๋ฅธ ๋ก์ง ์์ด return๋ฌธ๋ง ์๋ค๋ฉด {}์ return ํค์๋ ์๋ต์ด ๊ฐ๋ฅํ๋ค. const d = (x) => {return x * x;}; const e = (x) => x * x; // ๋ง์ฝ ํจ์ ๋์๋ถ๋ถ ๋ด์ return ๋ง๊ณ ๋ค๋ฅธ ๋ก์ง์ด ์๋ค๋ฉด { return} ํํ๋ก ์ ์ด์ค์ผ ํจ. const f = (x) => { console.log(x * x); return x..
2023.04.19
Language/JS
๋งค๊ฐ๋ณ์ ํจํด
0. ๊ธฐ๋ณธํ function sum(a, b) { // ์ฌ๊ธฐ๋ ์ธ์๋ฅผ ๋ฐ๋ ๋งค๊ฐ์ฒด ๋งค๊ฐ๋ณ์ return a + b; } console.log(sum(1, 2)); // ์ฌ๊ธฐ๊ฐ ๋ค์ด์จ ๊ฐ ์ธ์ ์ธ์, ๋งค๊ฐ๋ณ์ ๋ ์ฉ์ด๋ฅผ ํท๊ฐ๋ ธ์๋๋ฐ, ์ธ์๋ ํจ์๊ฐ ํธ์ถ๋์ด ์ค์ ๋ค์ด์ค๋ ๊ฐ์ ๋ปํ๊ณ , ๋งค๊ฐ๋ณ์๋ ํจ์ ์ ์ธ๋ฌธ์ ์ ํ๋ ์ธ์๋ฅผ ๋ฐ๋ ๋งค๊ฐ์ฒด๋ฅผ ๋ปํ๋ค. 1. ๊ธฐ๋ณธ๊ฐ ์์ ํจ์์์ ๋ง์ฝ์ ์ฌ์ฉ์๊ฐ sum ํจ์๋ฅผ ํธ์ถํ๊ณ ์ธ์๋ฅผ ํ๋๋ง ์ด ๊ฒฝ์ฐ ์ด๋ป๊ฒ ๋ ๊น? console.log(sum(7)); // 7๊ณผ undefined๋ฅผ ๋ ํด์ not a number ๋ ๋ฒ์งธ ์ธ์๋ก๋ undefined๊ฐ ๋ค์ด๊ฐ์ 7 + undefined๊ฐ ๋์ด NaN์ด ์ถ๋ ฅ๋ ๊ฒ์ด๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์ ๋งค๊ฐ๋ณ์์ ์กฐ์น๋ฅผ ์ทจํ ์ ์๋ค. '..
2023.04.19
Language/JS
ํจ์์ ๋ฐํ๊ณผ ์ข
๋ฃ
1. return (1) ๋ฐํํ๋ ์ญํ return ์์ ์ ํ ๋ด์ฉ์ ๋ฐํ ๊ฐ์ด๋ผ ํ๋ค. ๋ฐํ ๊ฐ์ ํจ์๋ฅผ ํธ์ถํ์ ๋, ํธ์ถ๋ฌธ ์๋ฆฌ์ ๋์ ํด์ ์ ํ ๊ฐ์ด๋ค. function hello() { return "hello~"; } console.log(hello()); // console.log("hello~")์ ๊ฐ์ ๋ง์ด๋ค. ** return ์์ ์๋ฌด๊ฒ๋ ์ ์ ์ด์คฌ์ ์? ** return ๋ค์ ์๋ฌด๊ฒ๋ ์ ์ ์ด์ฃผ๋ฉด undefined๊ฐ ์ถ๋ ฅ๋๋ค. function hello2() { return; } console.log(hello2()); (2) ํจ์๋ฅผ ์ข
๋ฃํ๋ ์ญํ ํจ์ ์ฝ๋๋ฅผ ์์์ ์๋๋ก ์งํํ๋ค๊ฐ return ๋ฌธ์ ๋ง๋๋ฉด ๊ทธ ์๋ฆฌ์์ ํจ์๋ฅผ ์ข
๋ฃํ๊ณ return ๊ฐ ๋ฐํ ๋ค, ํ์ถํ๋ค. ๋ฐ๋ผ์ ..
2023.04.18
Language/JS
ํจ์ ์ ์ธ๋ฌธ๊ณผ ํจ์ ํํ ์์ ์ฐจ์ด ๊ทธ๋ฆฌ๊ณ ํธ์ด์คํ
1. ํจ์ ์ ์ธ๋ฌธ ํจ์ ์ ์ธ Keyword๋ก ์์ํด์ ํจ์๋ฅผ ์ ์ธํ๋ ๋ฌธ์ฅ. //ํจ์ ์ ์ธ๋ฌธ function hello () {} function ํจ์์ด๋ฆ (์ธ์ ๋ฃ๋ ์๋ฆฌ) {๋์ ๋ก์ง} ํํ๋ก ์ ํ๋ค. 2. ํจ์ ํํ์ ๋ณ์์ ์ต๋ช
ํจ์๋ ๊ธฐ๋ช
ํจ์๋ฅผ ๋์
ํ๋ ํํ์ ํํ์์ด๋ค. // ํํ์ 1. ๊ธฐ๋ช
ํจ์๋ฅผ ๋ณ์์ ๋์
const world = function hello () {} // ํํ์ 2. ์ต๋ช
ํจ์๋ฅผ ๋ณ์์ ๋์
const world2 = function () {} const world3 = () => {} ํํ์ 1์ธ ๊ธฐ๋ช
ํจ์๋ฅผ ๋ณ์์ ๋์
ํ ์ ์๋ ํจ์์ ์ด๋ฆ์ผ๋ก ๋ ์ด์ ํธ์ถํ์ฌ ์ฐ์ง ๋ชปํ๋ค. ๋ฌด์กฐ๊ฑด ๋์
ํ ๋ณ์ ์ด๋ฆ์ผ๋ก๋ง ํธ์ถํ์ฌ ์ธ ์ ์๋ค. hello(); // error -> ์ฅ..
2023.04.18
Language/JS
HTML์์ JavaScript ์ฐ๊ธฐ
1. HTML ๋ด๋ถ์ JavaScript๋ฅผ ์ฐ๋ ๊ฒ (CSS ์ธ๋ผ์ธ ํ์๊ณผ ์ ์ฌ) html ๋ด์์ script๋ ํ๊ทธ๋ฅผ ์ฐ๋ฉด ๊ทธ ํ๊ทธ ์ ์ชฝ์ ์๋ฐ ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ธ ์ ์๋ค. 2. ์ธ๋ถ ํ์ผ๋ก๋ถํฐ JavaScript ์ฝ๋ ๊ฐ์ ธ์ค๊ธฐ ์ฌ์ด์ ์ธ๋ถ ํ์ผ์ JS ์ฝ๋ ์ ์ฒด๊ฐ ๋ค์ด๊ฐ๋ ๊ฒ๊ณผ ๋์ผํ๋ค. ๋ง์ฝ ์ด๋ ๊ฒ ์ด๋ค๋ฉด? ํด๋น ๊ฒฝ์ฐ, ์ฌ์ด์ ์ฐ์ธ ์ฝ๋ ๋ด์ฉ์ ๋ฌด์๋๋ค. ์๋ํ๋ฉด scr์ ์ ํ ๋ด์ฉ์ด ์์ผ๋ก ๋ค์ด๊ฐ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
2023.04.17
Language/JS
While, do while
1. while break ํ ์ ์๊ฒ ๋ง๋ค์ด์ฃผ์ง ์์ผ๋ฉด ๋ฌดํ ๋ฃจํ๊ฐ ๋ ์ ์๋ค. ๋ฐ๋ผ์ ( ) ์์ด๋ { } ์์ด๋ ์ฆ๊ฐ๊ณผ ์กฐ๊ฑด๋ฌธ์ ๋ฌ์์ค์ผ ํ๋ค. 2. do while while ์กฐ๊ฑด์ ์ฒ์ ๋ถํฐ ์ ๋ง์์ ๋ช
๋ น ์คํ ๋ถ๊ฐ ์์ ์คํ์ด ์๋ ์ ์๋ค. ์ด๊ฒ์ ๋ง๊ณ ์ ์ฐ๋ do while ๋ฌธ์ ์ฒ์ ํ๋ฒ์ ๋ฌธ์ฅ์ด ์คํ๋๋๋ก ํด์ค๋ค. do {} while ()์ ๋จผ์ ๋ช
๋ น์ด ๋ถ๋ถ์ ํ ๋ฒ ์คํํ๊ณ , ๋ฃจํ์ ์ง์
ํ๋ค. 0์ ๋ํ์ ์ธ falsey ๊ฐ์ด๋ผ ์ฐธ์ด ์๋๋ค. ์ด ๋ฌธ์ฅ์ ๋งจ ์ฒ์ ํ๋ฒ์ ์คํํ๊ณ ์ถ๋ค๋ฉด, ์ด๋ ๊ฒ ํ๋ฉด ๋ฌธ์ฅ์ ํ ๋ฒ ์คํํ๊ณ ๋ฃจํ์ ์ง์
ํ๋ค.
2023.04.14
Language/JS
For ๋ฐ๋ณต๋ฌธ, For of, For in
1. For ๋ฐ๋ณต๋ฌธ // ์ ์ธ๋ถ ; ์กฐ๊ฑด๋ถ; ์ฆ๊ฐ์ฐ์ฐ๋ถ; // ์กฐ๊ฑด์ ๋ง๋์ง ํ์ธ -> loop ๋๋ฆด๋ ค๋ ๋ช
๋ น ์คํ -> ์ฆ๊ฐ ์ฐ์ฐ -> ์กฐ๊ฑด์ ๋ง๋์ง ํ์ธ (๋ฐ๋ณต) for (let i = 0; i < 10; i++) { console.log(i); } (1) break loop๋ฅผ ๋๋ค๊ฐ break๋ฅผ ๋ง๋๋ฉด ๊ทธ ์๋ฆฌ์์ ํ์ถ i๊ฐ 9๊ฐ ๋๋ ์๊ฐ ํ์ถ. (2) Continue continue๋ฅผ ๋ง๋๋ฉด, ํด๋น ํค์๋ ๋ฐ์ ์ฝ๋๋ค์ ์คํํ์ง ์๊ณ ๋ค์ loop๋ก ๋์๊ฐ. if ์กฐ๊ฑด ๋ง์กฑํด์ continue ๋ง๋๋ฉด ๋ฐ์ ๋ฌธ์ฅ๋ค ์คํํ์ง ์๊ณ , ๋ฐ๋ก loop๋ฌธ์ผ๋ก ๋์ด๊ฐ. if ์กฐ๊ฑด ๋ง์กฑ ๋ชปํด์ ์ง๋๊ฐ ๊ฒฝ์ฐ , ๊ทธ๋๋ก console.log ์ฐํ. 2. For of ๋ฐ๋ณต๋ฌธ (๋ฐฐ์ด์์ ์ฐ์) java์์์ for ..
2023.04.14
Language/JS
If์ Switch ๋ฌธ
1. if 2. switch ๋ฌธ (1) ํํ let comment = ""; age = 14; switch (age) { case 14: comment = "์คํ๊ต 1ํ๋
"; break; case 15: comment = "์คํ๊ต 2ํ๋
"; break; case 16: comment = "์คํ๊ต 3ํ๋
"; break; case 17: comment = "๊ณ ๋ฑํ๊ต 1ํ๋
"; break; case 18: comment = "๊ณ ๋ฑํ๊ต 2ํ๋
"; break; case 17: comment = "๊ณ ๋ฑํ๊ต 3ํ๋
"; break; default: comment = "์ฑ์ธ์ด๊ฑฐ๋ ์ด๋ฑํ์์
๋๋ค."; } console.log(comment); ์ธ์๋ก ๋ฐ์ ๊ฐ์ case ์ ์ ํ์๋ ๊ฐ๋ค๊ณผ ์ฐจ๋ก๋๋ก ๋น๊ตํ๋ค. ๊ทธ ์ค ์ผ์นํ..
2023.04.14
Language/JS
์ ํ์ ์ฒด์ด๋(Optional Chaining)
**์์ ์ ๋ณด๊ณ ๋ฐฐ์ด ๊ณณ ** ์ต์
๋ ์ฒด์ด๋ '?.' (javascript.info) ์ต์
๋ ์ฒด์ด๋ '?.' ko.javascript.info 1. Optional Chaining ์ด ์๊ธด ์ด์ (1) ์๊ธด ์ด์ ๊ฐ์ฒด ์์ ๋ฉค๋ฒ์ ๊ฐ์ ์ป๊ธฐ ์ํด ์ ํ๊ธฐ๋ฒ์ผ๋ก ์ ๊ทผํ๋๋ฐ, ๊ทธ ๋ฉค๋ฒ๊ฐ ์กด์ฌํ์ง ์๋ ์๊ฐ์ด ์๋ค. ์ด ๊ฒฝ์ฐ ์๋๋ผ๋ฉด ์๋ฌ๊ฐ ๋๋ค. const User {} console.log(user.adderess); // syntax error ์ด์ ๊ฐ์ด ์ฐ๋ฆฌ๊ฐ ๊ฐ์ฒด ์์ ํน์ ๋ฉค๋ฒ์ ์ ๊ทผํ๋ ค๊ณ ํ์ง๋ง, ๊ทธ ๋ฉค๋ฒ๊ฐ ์๋์ง ์๋์ง ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ์ Error๋ฅผ ํผํ๊ธฐ ์ํด OptionalChaing์ด ๋ง๋ค์ด์ง ๊ฒ์ด๋ค. (2) Optional Chaining ์์์ ๋ ์ด๋ป๊ฒ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋์? && ์ด ..
2023.04.14
Language/JS
๊ตฌ์กฐ ๋ถํด ํ ๋น
1. ๊ตฌ์กฐ ๋ถํด ํ ๋น์ด๋? ๋ง์ฝ ์ฐ๋ฆฌ๊ฐ ๋ฐฐ์ด์์ ์์๋ฅผ ์ผ์ผํ ๋นผ์ ๋ณ์์ ์ง์ด ๋ฃ๋๋ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ ๊ฒ์ด๋ค. const arr = [1,2,3] const a = arr[0] const b = arr[1] const c = arr[2] JS์์๋ ์ ๊ณผ์ ์ ๊ฐ๋จํ๊ฒ ํ ์ค์ ์ฝ๋๋ก ์ ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค. ์ด๋ฅผ ๊ตฌ์กฐ ๋ถํด ํ ๋น์ด๋ผ๊ณ ํ๋ค. ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด์ ์์๋ค์ ์ฐข์ด์ ๋ณ์ ํ๋ ํ๋์ ๋ฃ์ด์ฃผ๋ ๋ฐฉ์์ ๋งํ๋ค. 2. ๋ฐฐ์ด์์์ ๊ตฌ์กฐ ๋ถํด (1) ๊ธฐ๋ณธํ // ๋ฐฐ์ด ์ ์ธ const arr = [1,2,3] // ๊ตฌ์กฐ ๋ถํด ํ ๋น ์ด์ฉ: ๋ณ์ a, b, c์ ๊ฐ๊ฐ 1, 2, 3์ด ์ฐจ๋ก๋ก ๋ค์ด๊ฐ๋ค. const [a,b,c] = arr console.log(a,b,c) // 1 2 3์ด ..
2023.04.02
Language/JS
์ ๊ฐ ์ฐ์ฐ์
1. ์ ์ (1) ํํ const a = [1,2,3] console.log(a) // [1,2,3] console.log(...a) // 1,2,3 const b = {a:'apple', b: 'banana', c: 'car'} const c = {d:'digest', e: 'earth', f: 'fool\'s day'} const r = {...b,...c} console.log(r) // {a:'apple', b: 'banana', c: 'car', d:'digest', e: 'earth', f: 'fool\'s day'} (2) ์ ์ ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด์ ์์๋ค์ ์ฐจ๋ก๋๋ก ์ ๊ฐํ๋ ์ฐ์ฐ์์ด๋ค. ๋ฐฐ์ด์ ๋๊ดํธ๋, ๊ฐ์ฒด์ ์ค๊ดํธ๋ฅผ ๋ฒ๊ธด๋ค. ** console.log() ์ ์ฌ๋ฌ ๊ฐ์ data๋ฅผ ์ฐ๋ ๋ฒ ,..
2023.04.02
Language/JS
Nullish ๋ณํฉ ๊ณผ ์ผํญ ์ฐ์ฐ์
1. Nullish๋ณํฉ (1) ์ ์ const num = A ?? B ?? C ... // null ์ด๋ undefined๊ฐ ์๋ ๋งจ ์ฒ์ ๋ง๋ data๋ฅผ ๋ฐํ // ๋ง์ฝ ์ฐ์ฐ์ ์์ ๋ชจ๋ ๊ฐ๋ค์ด null ์ด๋ undefined ๋ผ๋ฉด ๋งจ ๋ง์ง๋ง์ nullish ๊ฐ์ ๋ฐํ // (null , undifined ํฉ์ณ์ nullish๋ผ๊ณ ํ๋ค.) OR์ false๊ฐ ์๋ ๋งจ ์ฒ์ ๋ง๋ data๋ฅผ ๋ฐํ ํ๋ ์ฐ์ฐ์์๋ค. Nullish ๋ณํฉ์ OR ๋ณด๋ค ๊ฑฐ๋ฅด๋ ๋ฒ์๊ฐ ์ ์ด์ง ์ฐ์ฐ์์ด๋ค. (2) ์์๋ค a. OR ๊ณผ Nullish์ ์ฐจ์ด 0์ false ๊ฐ์ด๊ณ , 7์ด ์ ์ผ ๋จผ์ ๋ง๋ 0์ด ์๋ ๊ฐ์์ผ๋ก 7์ ๋ฐํ 0์ ์ ์ผ ์ฒ์ ๋ง๋ nullish๊ฐ ์๋ ๊ฐ์์ผ๋ก 0์ ๋ฐํ b. ๋ค์ํ ์ฐ์ฐ๋ค 2. ์ผํญ ์ฐ์ฐ์ (..
2023.04.02
Language/JS