Today, What I learned?
์ค๋์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ ์ ๋ค์ ํ์ด๋ณด๋ฉฐ ์ ๋ชฐ๋๋ ๋ถ๋ถ๋ค์ ๋ํด์ ์ข ๋ ๊น๊ฒ ๊ณต๋ถํ๋ ์๊ฐ์ ๊ฐ์ก๋ค. ํ์ ์ค null๊ณผ undefined, undeclared์ ์ฐจ์ด์ ๊ณผ ๊ฐ์ฒด ๋ฆฌํฐ๋ด์ ๋ํด์ ์ ๋ฆฌํด๋ณด๋ ค ํ๋ค!
null, undefined, undeclared์ ์ฐจ์ด์
๋จผ์ undefined๋ถํฐ ์ ๋ฆฌํด๋ณด์!
undefined
undefined
๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ๋ณ์๋ฅผ ์ด๊ธฐํํ ๋ ์ฌ์ฉํ๋ ๊ฐ์ธ๋ฐ,
์ค์ฝํ์ ๋ณ์๊ฐ ์ ์ธ๋์์ง๋ง ๊ฐ์ด ํ ๋น๋์ง ์์ ์ํ๋ค. ๊ณ ๋ก ์ด๊ธฐํ๋์ง ์์์ ๋์ ๊ฐ์ด๋ผ ํ ์ ์๋ค.
let name;
console.log(name); // undefined
null
undefined
์ ํท๊ฐ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ null
.
๊ฐ์ด ์๋ ๊ฒ์ ์๋์ ์ผ๋ก ๋ช
์ํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ undefined
์ ๋ค๋ฅด๋ค.
let name = 'Lee';
console.log(name); // Lee
name = null;
console.log(name); // null
undeclared
๊ฐํน ์ค์๋ก ์๋ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์๋ค.
undeclared
๋ ์ค์ฝํ ๋ด์ ๋ณ์๊ฐ ์ ์ธ์กฐ์ฐจ ๋์ง ์์์ ๋๋ฅผ ๋งํ๋ค.
Lee๋ผ๋ ๋ณ์๋ ํ์ฌ ์ ์ธ๋ ๋์ด์์ง ์์ ์ํ! ๊ณ ๋ก undeclared
ํ๋ค๊ณ ํ ์ ์๋ค.
let name = 'Lee';
console.log(Lee); // ReferenceError: Lee is not defined
๊ฐ์ฒด ๋ฆฌํฐ๋ด
์๋ฐ์คํฌ๋ฆฝํธ๋ ํด๋์ค ๊ธฐ๋ฐ ๊ฐ์ฒด ์งํฅ ์ธ์ด์๋ ๋ค๋ฅด๊ฒ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง ์ง์ํ๋ค.
๊ทธ์ค์์๋ ๊ฐ์ฒด ๋ฆฌํฐ๋ด์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด๋ค.
์๋์ ๊ฐ์ ํ์์ผ๋ก ๋น ๋ฅด๊ฒ ๋ง๋ค ์ ์๋ค.
const ๋ณ์๋ช
= {
์์ฑ๋ช
: ๋ฐ์ดํฐ,
๋ฉ์๋๋ช
: function () { ๋ฉ์๋ ํธ์ถ์ ์คํํ ์ฝ๋๋ค }
}
๊ฐ์ฒด ๋ฆฌํฐ๋ด์ ์ด๋ฐ ํน์ง๋ค์ ๊ฐ์ง๊ณ ์๋ค.
๊ฐ์ฒด ๋ฆฌํฐ๋ด์ ํน์ง
- ๊ฐ์ฒด๋ ์กด์ฌํ์ง ์๋ ํ๋กํผํฐ์ ์ ๊ทผํ๋ฉด undefined๋ฅผ ๋ฐํํ๋ค.
- ๋๊ดํธ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํค๋ ๋ฐ์ดํ๋ก ๊ฐ์ธ์ ์ ๊ทผํด์ผ ํ๋ค.
person\['name'\]
- ์กด์ฌํ์ง ์๋ ํ๋กํผํฐ์ ๊ฐ์ ํ ๋นํ๋ฉด ๋์ ์ผ๋ก ์์ฑ๋๋ค.
person\['age'\] = 10
๊ณผ ๊ฐ์ ์์๋ก ์์ฑ ๊ฐ๋ฅ! delete
์ฐ์ฐ์๋ก ๊ฐ์ฒด์ ํ๋กํผํฐ๋ฅผ ์ญ์ ํ๋ค.delete person.age
ํ์ง๋ง ๋จ ํ๋์ ๊ฐ์ฒด๋ง ์์ฑํ๊ธฐ ๋๋ฌธ์, ๋์ผํ ํ๋กํผํฐ๋ฅผ ๊ฐ๋ ๊ฐ์ฒด๋ฅผ ์ฌ๋ฌ ๊ฐ ์์ฑํ๋ ค๊ณ ํ ๋๋ ๋นํจ์จ์ ์ด๋ค.
๊ทธ๋์ ์ด ๊ฒฝ์ฐ์๋ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ํจ์จ์ !
ES6์์ ์ถ๊ฐ๋ ํ์ฅ ๊ธฐ๋ฅ
ํ๋กํผํฐ ๊ฐ์ผ๋ก ๋ณ์๋ฅผ ์ฌ์ฉํ ๋, ํ๋กํผํฐ์ ํค์ ๋ณ์๋ช ์ด ๊ฐ์ ๊ฒฝ์ฐ ์ถ์ฝํด์ ํ๋กํผํฐ ํค๋ฅผ ์๋ตํ ์ ์๋ค.
const a = 'apple';
const b = 1;
const obj = {a, b};
๋ ๋ฉ์๋๋ฅผ ์ ์ํ ๋ function ํค์๋๋ฅผ ์๋ตํ์ฌ ์ ์ํ ์ ์๋ค.
const person = {
name: 'Lee',
sayHi(){
console.log(`Hi, ${this.name}!`); // Hi Lee!
}
}
๋ง์ง๋ง์ผ๋ก ํ๋กํผํฐ ํค๋ฅผ ๊ณ์ฐ๋ ์ด๋ฆ์ผ๋ก ๋์ ์์ฑ์ด ๊ฐ๋ฅํ๋ค.
const prefix = 'index';
let i = 0;
const obj = {
[`${prefix}-${++i}`]: i,
[`${prefix}-${++i}`]: i,
[`${prefix}-${++i}`]: i,
}; // { 'index-1': 1, 'index-2': 2, 'index-3': 3 }
ํ๋กํผํฐ ํค๋ฅผ ๋๊ดํธ๋ก ๊ฐ์ ธ์ค๊ฑฐ๋ ํ ๋ ํ ๋ฒ์ฉ์ ์ค์ํด์ ๋ค์ ๊ฐ์ ธ์ค๋ ์ผ์ด ์ฆ์๋๋ฐ,
์ด๋ฒ ์ ๋ฆฌ๋ฅผ ๋ฐํ์ผ๋ก ์์ฐ์ค๋ฝ๊ฒ ์ฌ์ฉํ ์ ์์ ๊ฒ ๊ฐ๋ค.
'๐ Studying > ๐ TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL : ๋ฌธ์ฅ ๋ด ์ํ๋ฒณ ์ต๋ ๋น๋์ ๊ตฌํ๊ธฐ (1) | 2022.11.09 |
---|---|
TIL : ํ์ด์ฌ ๋ฌธ๋ฒ, JS ๋๋ง์๊ธฐ ๊ฒ์ (0) | 2022.11.08 |
๋ฏธ๋ ํ๋ก์ ํธ ํ๊ณ (0) | 2022.11.04 |
TIL : Flask ์๋ฌ + git Pull Request ๋ณด๋ด๊ธฐ (1) | 2022.11.03 |
TIL : ๋คํฌ๋ชจ๋, Flask ์๋ฒ์์ HTML ๋ด ์ค๋ณต๋๋ ์ฝ๋ ๋ถ๋ฆฌ (0) | 2022.11.02 |
Comment