Chapter10 ๊ฐ์ฒด ๋ฆฌํฐ๋ด
๋ค์ ๋ณด๊ธฐ์ true
, false
๋ฅผ ๊ณ ๋ฅด์์ค.
(1) ๊ฐ์ฒด ์์ฑ์ ํ๋กํผํฐ ํค๋ฅผ ์์ฑํ ๋, ์๋ณ์ ๋ค์ด๋ฐ ๊ท์น์ ๋ฐ๋ฅด์ง ์์ผ๋ฉด ๋ฌด์กฐ๊ฑด ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
(2) ๋๊ดํธ ํ๊ธฐ๋ฒ ์์๋ ๋ฌด์กฐ๊ฑด ๋ฐ์ดํ๋ก ๊ฐ์ธ์ง ๋ฌธ์์ด๋ง ๊ฐ๋ฅํ๋ค.
(1) false p127,129
127์ชฝ์์ ๋ฐ๋์ ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํด์ผํ๋ค๊ณ ๋ช
์๋์ด ์๋ค.
ํ์ง๋ง 129์ชฝ์ ๋ณด๋ฉด ์์ธ์ ์ผ๋ก ๋ฐ์ดํ๋ฅผ ์ฌ์ฉ์ํ์์ ๋, ์๋ฌต์ ํ์
๋ณํ์ผ๋ก ๋ฌธ์์ด๋ก ๋ณํ๋๋ฏ๋ก ์ซ์ ๋ฆฌํฐ๋ด๊ณผ ๊ฐ์ด ์์ฑํด๋ ๋ฌด๋ฐฉํ๋ค.
(2) false p131
131์ชฝ์ ๋ฐ๋์ ๋ฐ์ดํ๋ก ๊ฐ์ผ ๋ฌธ์์ด์ด์ด์ผํ๋ค๊ณ ๋ช
์๋์ด ์๋ค.
ํ์ง๋ง ๋๊ดํธ ํ๋กํผํฐ ์ ๊ทผ ์ฐ์ฐ์ ๋ด์ ๋ฐ์ดํ๋ก ๊ฐ์ธ์ง ์์ ์ด๋ฆ์ ํ๋กํผํฐ ํค๋ก ์ฌ์ฉํ๋ฉด, ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์๋ณ์๋ก ํด์ํ๋ค. (๋ฐ๋ก ๋ค์ ๋ฌธ์ฅ)
๋ค์ ์ฝ๋์ ์ถ๋ ฅ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ์์ค.
const obj = {
"abc" : 123 ,
abc : 789 ,
000 : "zero" ,
"000" : "stringZero" ,
}
const ABC = "abc" ;
const zero = 000 ;
console . log ( obj [ "abc" ] ) ; // (1) 789
console . log ( obj [ ABC ] ) ; // (2) 789
console . log ( obj . abc ) ; // (3) 789
console . log ( obj [ 000 ] ) ; // (4) zero
console . log ( obj [ "000" ] ) ; // (5) stringZero
console . log ( obj [ zero ] ) ; // (6) zero
console . log ( obj . zero ) ; // (7) undefined
obj ๊ฐ์ฒด์ ์์ฑํ๋ ๋ถ๋ถ์์ "abc"์ abc๋ ๋์ผํ ๋ฌธ์์ด ํ๋กํผํฐ ํค์ด๋ฏ๋ก ๋ฎ์ด ์ด๋ค.
๋ฐ๋ผ์ (1~3)์ 789๊ฐ ์ถ๋ ฅ๋๋ค.
ํ์ง๋ง 000๊ณผ "000"์ ๋ค๋ฅธ ํ๋กํผํฐ ํค์ด๋ค.
์๋ํ๋ฉด 000์ด ํ๋กํผํฐ ํค๊ฐ ๋๊ธฐ์ํด ์๋ฌต์ ํ์
๋ณํ์ ํ๋ค.
๊ทธ ๊ณผ์ ์์ 000์ ์ซ์๋ก 0์ด๋ฏ๋ก 0์ ์๋ฌต์ ํ์
๋ณํํ๋ค.
๋ฐ๋ผ์ obj = { ,, "0": "zero:", "000": "stringZero" } ์ด๋ค.
๋ง์ง๋ง (7)์ obj ์์ "zero"๋ผ๋ ํ๋กํผํฐ ํค๊ฐ ์์ผ๋ฏ๋ก undefined๊ฐ ์ถ๋ ฅ๋๋ค.
๋ค์ ์ค ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ๋ชจ๋ ๊ณ ๋ฅด์์ค
const obj1 = {
name : 'name1' ,
name : 'name2'
} // (1)
const obj2 = {
' ' : 'null'
} // (2)
const obj3 = {
if : true ,
else : false
} // (3)
const obj4 : {
first - name : 'name'
} // (4)
const obj5 : {
lastName : 'name'
} // (5)
const obj6 : {
a : 1
b : 2
} // (6)
์ ๋ต : obj4, obj6
obj4์์๋ ์๋ณ์ ๋ค์ด๋ฐ ๊ท์น์ ์งํค์ง ์์๊ธฐ ๋๋ฌธ์ ๋ฐ๋์ ๋ฌธ์์ด๋ก ๊ฐ์ธ์ค์ผ ํ๋ค.
obj6์์๋ , ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋ฌ๊ฐ ์ผ์ด๋๋ค.
๋๋จธ์ง๋ ์๋ฌ๊ฐ ์ผ์ด๋์ง ์๋๋ค.
๊ฐ์ฒด์ ํ๋กํผํฐ ํค๋ก ์ฌ์ฉ๋ ์ ์๋ ์์๊ฐ 2๊ฐ์ง๋ฅผ ์์ฑํ๊ณ ,์๋์ ์ฝ๋์์ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋ ์ด์ ์๋ํด ์ค๋ช
ํ์์ค.
- p.127 : 1.๋ชจ๋ ๋ฌธ์์ด, 2.์ฌ๋ฒ๊ฐ. ์๋ฌต์ ํ์
๋ณํ์ํตํด ๋ฌธ์์ด๋ก ๋ณํ๋๊ธฐ ๋๋ฌธ์ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
es6์์ ์ถ๊ฐ๋ ๊ฐ์ฒด ๋ฆฌํฐ๋ด์ ํ์ฅ๊ธฐ๋ฅ 3๊ฐ์ง๋ฅผ ์์ฑํด์ฃผ์ธ์.
1.ํ๋กํผํฐ ์ถ์ฝ ํํ.
- ๋ณ์ ์ด๋ฆ์ผ๋ก ํ๋กํผํฐ ๊ฐ์ ํ ๋นํ ๊ฒฝ์ฐ ํ๋กํผํฐ ํค์ ๋์ผํ ์ด๋ฆ์ผ๋ ํ๋กํผํฐ ํค๋ฅผ ์๋ต ํ ์ ์์.
2.๊ณ์ฐ๋ ํ๋กํผํฐ ์ด๋ฆ์ ๊ฐ์ฒด ๋ฆฌํฐ๋ด ๋ด๋ถ์์๋ ์ฌ์ฉํ ์ ์์.
- ๊ณ์ฐ๋ ํ๋กํผํฐ: ๋ฌธ์์ด ๋๋ ๋ฌธ์์ด๋ก ๋ณํํ ์ ์๋ ๊ฐ์ผ๋ก ํ๊ฐ๋๋ ํํ์์ ์ฌ์ฉํด ๋์ ์ผ๋ก ์์ฑํ ํค.
3.๋ฉ์๋ ์ถ์ฝํํ.
- ๋ฉ์๋๋ฅผ ์ ์ํ ๋ functionํค์๋๋ฅผ ์๋ตํ ์ถ์ฝํํ์ ์ฌ์ฉํ ์ ์์.
๋ค์ ์ฝ๋์์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๋ถ๋ถ๊ณผ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ์ธ์.
var obj = {
0 : 1 , // (1)
"" : "" , // (2)
object : "" , // (3)
name : "Deep" , // (4)
name : "Dive" , // (5)
} ;
console . log ( obj ) ;
์๋ฌ๋ ๋ฐ์ํ์ง ์๋๋ค.
{ '0': 1, '': '', object: '', name: 'Dive' }
129p
(1) ํ๋กํผํฐ ํค์ ๋ฌธ์์ด์ด๋ ์ฌ๋ฒ ๊ฐ ์ธ์ ๊ฐ์ ์ฌ์ฉํ๋ฉด ์๋ฌต์ ํ์
๋ณํ์ ํตํด ๋ฌธ์์ด์ด ๋๋ค.
(2) ๋น ๋ฌธ์์ด์ ํ๋กํผํฐ ํค๋ก ์ฌ์ฉํด๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. ํ์ง๋ง ํค๋ก์์ ์๋ฏธ๋ฅผ ๊ฐ์ง ๋ชปํ๋ฏ๋ก ๊ถ์ฅํ์ง ์๋๋ค.
(3) ์์ฝ์ด๋ฅผ ํ๋กํผํฐ ํค๋ก ์ฌ์ฉํด๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. ํ์ง๋ง ์์์น ๋ชปํ ์๋ฌ๊ฐ ๋ฐ์ํ ์ฌ์ง๊ฐ ์์ผ๋ฏ๋ก ๊ถ์ฅํ์ง ์๋๋ค.
(4), (5) ์ด๋ฏธ ์กด์ฌํ๋ ํ๋กํผํฐ ํค๋ฅผ ์ค๋ณต ์ ์ธํ๋ฉด ๋์ค์ ์ ์ธํ ํ๋กํผํฐ๊ฐ ๋จผ์ ์ ์ธํ ํ๋กํผํฐ๋ฅผ ๋ฎ์ด์ฐ๋ฉฐ, ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.