TIL - 21.06.29 ๐จโ๐ป - JS
TIL - 21.06.29 ๐จโ๐ป
๊ฐ์ฒด
Object.keys()
Object.keys(obj)
๋ฉ์๋๋ ์ธ์ ์๋ฆฌ์ ๊ฐ์ฒด๋ฅผ ๋ฐ์์ ๊ฐ์ฒด์ ํ๋กํผํฐ ํค๋ฅผ ์์๋ก ๊ฐ์ง๋ ๋ฐฐ์ด์ ๋ฐํํ๋ ๋ฉ์๋์ด๋ค.
const obj = {
name: 'sunghoon',
job: 'dev',
age: '26',
}
console.log(Object.keys(obj)) // [name, job, age]
๋ฐฐ์ด๊ณผ in ์ฐ์ฐ์
in ์ฐ์ฐ์
๋ ์ด์ ์๋ ํฌ์คํ
ํ๋ฏ, key in obj
์ ๋ฌธ๋ฒ์ผ๋ก ์ฌ์ฉํ๋ฉฐ, ํด๋น ์ฐ์ฐ์๋ in ๋ค์ ์ค๋ ๊ฐ์ฒด์ in ์์ ์ค๋ ํ๋กํผํฐ ํค๊ฐ ์กด์ฌํ๋์ง ๋ถ๋ฆฌ์ธ ํ์
์ผ๋ก ๋ฐํํ๋ ์ฐ์ฐ์์ด๋ค.
const obj = {
name: 'sunghoon',
job: 'dev',
age: '26',
}
console.log('name' in obj) // true; ํ๋กํผํฐ ํค๋ก ํด๋น ํ๋กํผํฐ๊ฐ ๊ฐ์ฒด ์์ ์กด์ฌ ํ๋์ง ๋ถ๋ฆฌ์ธ ํ์
์ผ๋ก ๋ฐํํ๋ค.
์ด in ์ฐ์ฐ์
๋ฅผ ๋ฐฐ์ด์์๋ ์ฌ์ฉํ ์ ์๋ค.
๊ทธ๋ฐ๋ฐ ๋ฐฐ์ด ์์ ์๋ ์์๋ฅผ in ์ฐ์ฐ์
๋ก ์ฐพ์๋ false
๋ก ๋ฐํํ๋ค.
์๋, ๋ฐฐ์ด์์์ in ์ฐ์ฐ์
๋ ์์๋ฅผ ์ฐพ๋ ๊ฒ์ด ์๋ index
๋ฅผ key
์๋ฆฌ์ ๋ฐ์ผ๋ฉฐ ํด๋น index
์ ๊ฐ์ด ํ ๋น๋์ด ์๋์ง ์ฌ๋ถ๋ฅผ ๋ฐํํ๊ธฐ ๋๋ฌธ์ด๋ค.
const arr = [1, 2, 3, ,5,] // index 3์ ๋น ์์์ด๋ค.
console.log(2 in arr) // true;
console.log(3 in arr) // false;
// arr ์ 3๋ฒ ์ธ๋ฑ์ค๊ฐ ๋น์ด์๊ธฐ์ 2๋ฒ ์ธ๋ฑ์ค์ 3์ด ์๋ ๋ง๋ false๋ฅผ ๋ฐํํ๋ค.
์ฝํ๋ฆฟ ํ๋๋ ๋๋๊ฑฐ๋ฆฌ๋ฉด์ ๋ญ๊ฐ ๋ฌธ์ ์ง, ์ ์กฐ๊ฑด๋ฌธ ์์ผ๋ก ๊ธฐ์ด ๋ค์ด๊ฐ๋์ง ์ดํด๋ฅผ ๋ชปํ์ง๋ง ์ง๊ธ ์์ ์๊ฐํ๋ฉด ๋น์ฐํ ๊ฒฐ๊ณผ์๋ค.
์ ์ด์ ์ด in ์ฐ์ฐ์
๋ ๊ฐ์ฒด
์์๋ ํ๋กํผํฐ ๊ฐ(property value)
์ผ๋ก ํ๋กํผํฐ ์กด์ฌ์ฌ๋ถ๋ฅผ ํ์ธํ๋๊ฒ ์๋๋ผ ํ๋กํผํฐ ํค(property key)
๋ก ์กด์ฌ์ฌ๋ถ๋ฅผ ํ์ธํ๊ณ ๋ถ๋ฆฌ์ธ ํ์
์ผ๋ก ๋ฐํํ๋ ๋ฉ์๋์ด๋ค.
๊ทธ๋ฌ๋ ๋น์ฐํ ์ ์ฌ ๊ฐ์ฒด์ธ ๋ฐฐ์ด์์ ์ฌ์ฉํ ๋, ๊ฐ์ฒด์์์ ํค ์ญํ ์ ํ๋ index
๋ฅผ ๊ฐ์ง๊ณ ์กด์ฌ์ฌ๋ถ๋ฅผ ๋ฐํํ๋ ๊ฒ์ด๋ค.
์ฝํ๋ฆฟ ๋์ค์ ์์๋ฅผ ์์ ๋ฃ๊ณ ์ ์ ์ฐ์ฐ์๊ฐ ์ด์ํ๋ ๋ง๋ ํ๋๊ฒ ๊ฐ์ฒด์์ in ์ฐ์ฐ์
์์ ํ๋กํผํฐ ๊ฐ์ ๋ฃ๊ณ ์ฐ์ฐ์๊ฐ ์ด์ํ๋ค๊ณ ํฌ์ ๋ถ๋ฆฌ๋ ๊ผด ์ด์๋ ๊ฒ์ด๋ค.
GOOD ๐
์ค๋ ์ฝํ๋ฆฟ ๋ฌธ์ ๋ฅผ ํ๋ฉฐ ๋๋ถ๋ถ ๋งํ๋ ๊ฒ ์์ด ์ ์ ํ์๋ค.
์ฝํ๋ฆฟ์์ ์๊ฒผ๋ ๋ช๊ฐ์ง ์๋ฌธ์ด ๋์ค์ ๊ณต๋ถํ๋ฉด์ ํ๋ ธ๋ค.
์ค๋ ์ฝํ๋ฆฟ ๋ฌธ์ ํ๋ฉด์ ํฌ๋กฌ ๊ฐ๋ฐ์๋๊ตฌ๋ฅผ ์ด์ฉํด ์ค๋ฅ๋ฅผ ์ฐพ๋ ๊ฒ์ ์กฐ๊ธ ๋ ์ต์ํด์ก๋ค.
BAD ๐ฅ
๋ฌธ์ ํ์ด๋ณด๊ณ ํ๋ค๊ณ ์ ์ ๋ด๊ฐ ๋ฐ๋ก ๊ณต๋ถํ ๋ถ๋์ ๊ณต๋ถ๋ฅผ ๋ชปํ๋ค.
๋ฆ์ ์์ ์์นจ ๊ณต๋ถ๋ ๋ง์ด ๋ชปํ๋ค.
TO DO ๐ฅ
- ๊ฐ์ฒด ๊ณต๋ถ
- ๋ฐฐ์ด thisArgu
- Node.js
- React ์
๋ฌธ
Retrospect ๐ง
์ฃผ๋ง์ ์ค์ปท ๋๊ณ ์ํํจํด์ด ์์ ํ ๊นจ์ ธ ๋ฒ๋ ค์ ์์นจ ์๊ฐ์ ์๊พธ ๋ ๋ฆฌ๊ณ ์๋ค.
๊ทธ๋๋ ์ค๋์ ์ด์ ๋ณด๋ค ํ์๊ฐ ๋นจ๋ฆฌ ์ผ์ด๋ฌ์ผ๋ ๋ด์ผ ์์นจ์ ์ค๋๋ณด๋ค ํ์๊ฐ ๋นจ๋ฆฌ ์ผ์ด๋๋ฉด ์๋ณต์ด๋ค!
์์ ์ ์ ์กฐ๊ฑด๋ฌธ์ in ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ๋ฌธ์ ๋ ๊ฒฐ๊ตญ .includes ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ํ์๋ค.
๋น์ฐํ ๋ฐฐ์ด์์ .includes ๋ฉ์๋๊ฐ ๋จผ์ ๊ธฐ์ต๋ฌ์ด์ผ ํ๋๋ฐ ์ด ๋ฉ์๋๋ฅผ ์จ ๋ณธ์ ์ด ์์ผ๋ ๋ฐ๋ก ๋ฐ๋ก ์๊ฐ์ด ๋์ง ์๋ ๊ฒ ๊ฐ๋ค.
์ญ์ ์ค์ ๋ก ์จ๋ณด๋๊ฒ ๋ฐฐ์ฐ๋๋ฐ ํจ์ฌ ๋์์ด ๋๋ ๋ฏ ํ๋ค.
์ค๋ ๋ชปํ๋ ๋ฐฐ์ด์ thisArgu๋ ๋ด์ผ ์์นจ์ ์ด๋ ํ๋ฑ ๊ฐ๋ค์์ ๋ฐ์ด๋ด๊ฒ ๋ค.
Reference ๐
๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ - https://ko.javascript.info/
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(TIL - 21.06.29 ๐จโ๐ป - JS), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@planethoon/TIL-21.06.29์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค