๐ค TIL(Today I Learned)
TIL(20210703)
Seungjae Lee
2021. 7. 3. 23:06
๐ Daily
- ๊ธฐ์ด ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด
- koans 10๋ฒ ๋ง๋ฌด๋ฆฌํ๊ณ push
๐ค Learned
- ๊ตฌ์กฐ ๋ถํด ํ ๋น์ด๋ผ๋ ๊ฐ๋
์ด ๋๋ฌด ๋ฏ์ค์ด์ ์๋ ์ฝ๋๋ง ๊ฑฐ์ 1์๊ฐ ์ด์ ๋ณธ ๊ฒ ๊ฐ๋ค.
์์ ํ ์ดํดํ ๊ฒ์ด ์๋๋ผ์ ๋ช๋ฒ์ด๊ณ ๋ฐ๋ณตํด์ ๋ณต์ตํด์ผ๊ฒ ์ง๋ง
์๋ ์ฝ๋๊ฐ ๋งํ๊ณ ์ ํ๋ ๊ฒ์ rest/spread ๋ฌธ๋ฒ์ ๊ฐ์ฒด ๋ถํด์ ์ ์ฉํ ์ ์๋ ์๋๋ฅผ ๋ฌป๋ ๊ฒ์ธ๋ฐ
์ผ๋จ ์ง๊ธ๊น์ง ์ดํดํ ๊ฒ์ ๋ฐํ์ผ๋ก ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ณด์๋ฉด - ์ฒซ๋ฒ์งธ changeUser ๋ณ์์ user๊ฐ์ฒด๋ฅผ ๋ณต์ฌํด์ ํ ๋นํด์ฃผ๊ณ name๊ณผ age ํ๋กํผํฐ ๊ฐ์ ์ฌํ ๋น ํด์ฃผ๋ ๊ฒ์ด๋ค.
- ๋๋ฒ์งธ overwriteChanges ๋ณ์์ ๊ฐ์ฒด ํ๋กํผํฐ๋ก name: '๋ฐํด์ปค', age: 20 ์ด ์๋๋ฐ user๊ฐ์ฒด๋ฅผ ๋ณต์ฌํด์ ํ ๋นํด์ฃผ๋ฉด์
ํ๋กํผํฐ๊ฐ ๋ง์์์ง๊ณ ๊ฒฐ๊ตญ ๋ณต์ฌ๋ user๊ฐ์ฒด๋ง ์ถ๋ ฅ๋๋ค. - ์ธ๋ฒ์งธ changeDepartment ๋ณ์์ ๋ณต์ฌ๋ user๊ฐ์ฒด๊ฐ ํ ๋น๋๊ณ , user๊ฐ์ฒด์ ํ๋กํผํฐ ์ค์ company,
company๊ฐ์ฒด ํ๋กํผํฐ ์ค์ department, department ํค์ ๊ฐ์ 'Marketing'์ผ๋ก ์ฌํ ๋นํ์ฌ ๋ณ๊ฒฝํ๋ค.
it('rest/spread ๋ฌธ๋ฒ์ ๊ฐ์ฒด ๋ถํด์ ์ ์ฉํ ์ ์์ต๋๋ค #3', () => {
const user = {
name: '๊น์ฝ๋ฉ',
company: {
name: 'Code States',
department: 'Development',
role: {
name: 'Software Engineer'
}
},
age: 35
}
const changedUser = {
...user,
name: '๋ฐํด์ปค',
age: 20
}
const overwriteChanges = {
name: '๋ฐํด์ปค',
age: 20,
...user
}
const changedDepartment = {
...user,
company: {
...user.company,
department: 'Marketing'
}
}
expect(changedUser).to.eql({
name: '๋ฐํด์ปค',
company: {
name: 'Code States',
department: 'Development',
role: {
name: 'Software Engineer'
}
},
age: 20
})
expect(overwriteChanges).to.eql({
name: '๊น์ฝ๋ฉ',
company: {
name: 'Code States',
department: 'Development',
role: {
name: 'Software Engineer'
}
},
age: 35
})
expect(changedDepartment).to.eql({
name: '๊น์ฝ๋ฉ',
company: {
name: 'Code States',
department: 'Marketing',
role: {
name: 'Software Engineer'
}
},
age: 35
})
})
- ํ๋กํผํฐ(Property)
ํ๋กํผํฐ๋ ๊ฐ์ฒด์ ์์ฑ์ ๋ํ๋ด๋ ์ ๊ทผ ๊ฐ๋ฅํ ์ด๋ฆ๊ณผ ํ์ฉ ๊ฐ๋ฅํ ๊ฐ์ ๊ฐ์ง๋ ํน๋ณํ ํํ
๊ฐ์ฒด๋ ํค(key)-๊ฐ(value)์ ํํ๋ก ๊ตฌ์ฑ๋ ํ๋กํผํฐ๋ค์ ์งํฉ์ด๋ค. ์ ํํ ์ด์ผ๊ธฐ ํ๋ฉด ํค๋ ํ๋กํผํฐ ํค์ด๊ณ , ๊ฐ์ ํ๋กํผํฐ ๊ฐ.
- ์ฃผ๋ง์ด๋ผ ์ฃผ์ค์ ๋ชป ์ ์ ์ ๋ชฐ์์ ์ค๋๋ ํ๋ฃจ์ ๋ฐ์ด ์ฌ๋ผ์ ธ์ ๊ณํํ ํ์ต๋์ ๋ฐ๋ ๋ชปํ๋ค.. ์ผ์์ผ์ ์ข ๋ ์์ฐจ๊ฒ ์ฌ์ฉํด์ผ๊ฒ ๋ค.
๐ Tomorrow
- ๋ ธ๋ ๋ฐฑ์๋ ๊ณต๋ถ
- koans ์ฒ์๋ถํฐ ๋ค์ ํ๊ธฐ(ํ๋ฉด์ ๋ชจ๋ฅด๊ฑฐ๋ ๋ ์์๋ด์ผ ํ ๊ฒ๋ค ๊ตฌ๊ธ๋งํ๊ณ ์ ๋ฆฌํ๊ธฐ)
- ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ๊ธฐ