์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- ๋ฐฑ์ค 1339๋ฒ ์๋ฐ์คํฌ๋ฆฝํธ
- ์นด์นด์ค ์ฝํ
- ์ฌ์ฉ์ฑ ๊ฐ์
- suspense react-query
- suspense ๋น๋๊ธฐ
- TypeError: createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more:
- js ์ค์ฝํ
- ๋ฐฑ์ค 1339๋ฒ nodejs
- js ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
- ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์์ด ์์ถ
- ์๋ฐ์คํฌ๋ฆฝํธ ์ค์ฝํ
- suspense ๋ณ๋ชฉํ์
- ๊ตฌ๋ฆํค
- js
- ๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง
- ์ต์ ๋์ฒด์ด๋
- ์ค์ฝํ
- ๋ฐฑ์ค 2108 ์๋ฐ์คํฌ๋ฆฝํธ
- emotion RSC
- ๋ฐฑ์ค 1339๋ฒ js
- js ๋ฌธ์์ด ์์ถ
- app router emotion
- ๋ฐฑ์ค 2108 nodejs
- ํ๋ก๊ทธ๋๋จธ์ค ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
- suspense ๋์์๋ฆฌ
- next13 emotion
- ๋ฆฌ์กํธ์ฟผ๋ฆฌ suspense
- ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ์์ด ์์ถ
- ๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง ํ๊ณ
- emtion app router
- Today
- Total
Lennon FE
[JS] ๋จ์ถ ํ๊ฐ - ์ต์ ๋ ์ฒด์ด๋ ๋ฐ null ๋ณํฉ ์ฐ์ฐ์ ๋ณธ๋ฌธ
[JS] ๋จ์ถ ํ๊ฐ - ์ต์ ๋ ์ฒด์ด๋ ๋ฐ null ๋ณํฉ ์ฐ์ฐ์
Lennon 2021. 11. 25. 00:10๋จ์ถ ํ๊ฐ๋
const obj = {
name: "Park" // key = name, value = "Park"
}
๊ฐ์ฒด๋ ์ฝ๋์ ๊ฐ์ด ํค์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ๋ง์ฝ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ ๋ณ์์ ๊ฐ์ด ๊ฐ์ฒด๊ฐ ์๋๋ผ null์ด๋ undefined์ด๋ฉด
ํ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ ๋จ์ถํ๊ฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
let obj = null;
let result = obj.value; // TypeError
let obj2 = null
let result2 = obj2 && obj2.value; // null
๋จ์ถ ํ๊ฐ๋ ์ฝ๋์ ๊ฐ์ด ๋ ผ๋ฆฌ์ฐ์ฐ์๋ก ๋ํ๋ผ ์ ์๋ค.
true && 1 // -> 1์ด ๋ฐํ๋๋ค.
true || 1 // -> true๊ฐ ๋ฐํ๋๋ค.
&& ์ฐ์ฐ์๋ ์ฒซ ๋ฒ์งธ ํผ์ฐ์ฐ์๊ฐ true์ด๊ณ ๋ ๋ฒ์งธ ์ฐ์ฐ์๊น์ง true์ฌ์ผ true์ด๋ฏ๋ก ๋ท ๋ถ๋ถ์ ๋ฐํํ๋ค.
๋ฐ๋ฉด || ์ฐ์ฐ์๋ ์ฒซ ๋ฒ์งธ ํผ์ฐ์ฐ์๊ฐ true์ด๋ฉด ๋ ๋ฒ์งธ ํผ ์ฐ์ฐ์๋ ๋ณด์ง ์์๋ true๋ฅผ ๋ฐํํ ์ ์์ผ๋ฏ๋ก true๋ฅผ ๋ฐํํ๋ค.
๊ทธ๋ฌ๋ ์ขํญ ํผ์ฐ์ฐ์ 0๊ณผ ''๋ฑ false๋ฅผ ๋ฆฌํดํ๋ ๊ฐ๋ค์ ๋ํด ์๊ธฐ์น ์์ ๋์์ด ๋ฐ์ํ ์ ์๋ค.
๊ทธ๋์ ๋์จ ๊ฒ ์ต์ ๋ ์ฒด์ด๋ ์ฐ์ฐ์, null ๋ณํฉ ์ฐ์ฐ์์ด๋ค.
์ต์ ๋ ์ฒด์ด๋ ์ฐ์ฐ์(?.)
let obj = null;
let result = obj?.value; // undefined
ํด๋น ์ฝ๋์ ๊ฐ์ด ์ฐ์ฐ์ ?. ๋ ์ขํญ์ ํผ์ฐ์ฐ์๊ฐ null, undefined์ธ ๊ฒฝ์ฐ undefined๋ฅผ ๋ฐํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฐํญ์ ํ๋กํผํฐ ์ฐธ์กฐ๋ฅผ ์ด์ด๊ฐ๋ค.
๊ฐ์ฒด๋ฅผ ๊ฐ๋ฅดํค๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ ๋ณ์๊ฐ null, undefined๊ฐ ์๋์ง ํ์ธํ๊ณ ํ๋กํผํฐ๋ฅผ ์ฐธ์กฐํ ๋ ์ ์ฉํ๋ค.
๋ํ ์ขํญ ํผ์ฐ์ฐ์๊ฐ 0๋๋ ''์ธ ๊ฒฝ์ฐ์๋ ์ ์ฉํ๊ฒ ์ธ ์ ์๋ค.(์ค์ ๊ฐ์ธ๋ฐ ์ฐธ์กฐํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ)
null ๋ณํฉ ์ฐ์ฐ์ (??)
let str = null ?? "Park"; // "Park"
null ๋ณํฉ ์ฐ์ฐ์๋ ๋ณ์์ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ ๋ ์ ์ฉํ๋ค. ๋ํ, ํญ์ false๋ฅผ ๋ฆฌํดํ๋ ๊ฐ์ ๋ํด์๋ ์ฒ๋ฆฌํ ์ ์๋ค.
ex)
const result = '' || 'Park'; // "Park"
const result2 = '' ?? 'Park'; // ''
์ต์ ๋ ์ฒด์ด๋ ์ฐ์ฐ์์ null ๋ณํฉ ์ฐ์ฐ์๋ฅผ ํตํด ํญ์ false๋ฅผ ๋ฐํํ๋ ๊ฐ๋ค์ ๋ํด(๋น ๋ฌธ์์ด, 0 ๋ฑ) ๊ฐ๋ฐ์์ ์๊ฐ๋๋ก ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ ์๊ธฐ์น ์์ ๋์์ ๋ฐฉ์งํ ์ ์๋ค.