Day10์ด๋ผ ์ฐ๊ณ , Day11์ด๋ผ ์ฝ๋๋ค...
์ ๋ฒ์ฃผ ๊ธ์์ผ์ ๋๋ฌด ํผ๊ณคํด์ TIL์ ์ ์ง ๋ชปํ๊ณ ... ์์์ผ์ด ๋์๋ค.
์ฌ์ค TIL ๋งค์ผ ์จ์ผํ๋ค๋ ๋ถ๋ด๊ฐ์ ๋ด๋ ค๋๊ณ ๋ฐฐ์ด ๊ฒ์ ์ง์คํ๊ธฐ๋ก ํ ๊ฒฐ๊ณผ๋ค.
์ ๋ ๊ฒ, ์ ๋ฆฌํ๋ ๊ฒ์ ์น์คํ๋ค๋ณด๋ฉด ์ ์ ์ค์ํ ๊ฒ์ ๋์น ๋๊ฐ ์๋ค.
์ค๋์ ๋๋์ด ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์๊ฐํ๊ณ , ๋ฐ๋๋ผ JS๋ก ๋์ด์๋ค.
์ฌ์ค ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์๋ฒฝํ๊ฒ ์ดํดํ์ง ๋ชปํ์ง๋ง, ์ด์ฌํ ๊ณ ๋ฏผํ๊ณ ๋
ธ๋ ฅํ ๋ ์์ ์ ์นญ์ฐฌํ๋ฉฐ TIL์ ์์ฑํด๋ณด์!!!
1. ๋ฆฌ์คํธ ํ๋ก์ธ์ฑ
2. ๊ฐ์ฒด๋ฅผ ์ดํฐ๋ฌ๋ธ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๋ค๋ฃจ๊ธฐ
3. ์๋ฐ์คํฌ๋ฆฝํธ์์์ this
์ค๋์ ์์ฃผ ์ฐ์ง๋ง ์ ํํ ์์ง ๋ชปํ๋ this์ ๋ํด ์ ๋ฆฌํ๊ณ ํ์คํ ์์๊ฐ๋ คํ๋ค.
this ๊ฐ์ ํจ์๋ฅผ ํธ์ถํ ๋ฐฉ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
์๊ฒฉ ๋ชจ๋์ ๋น์๊ฒฉ ๋ชจ๋์์๋ ์ผ๋ถ ์ฐจ์ด๊ฐ ์๋ค.
this๋ ์๊ฒฉ ๋ชจ๋ ์ฌ๋ถ์ ์๊ด์์ด ์ ์ญ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ
// ์ ์ญ ๋ฌธ๋งฅ์์์ this
var a = "Hi";
console.log(window.a); // 'Hi'
this.b = "Bye";
console.log(window.b); // 'Bye'
var x = this;
console.log(x); // Window
ํจ์ ์์์์ this๋ ํจ์์ ์ฃผ์ธ์๊ฒ ๋ฐ์ธ๋ฉ
ํจ์์ ์ฃผ์ธ์ window ๊ฐ์ฒด
// ํจ์ ๋ด๋ถ์์์ this
var number = 10;
function add10() {
this.number = 5;
number += 10;
console.log(number); // 15
console.log(this); // Window
console.log(window.number); // 15
}
add10();
console.log(number === window.number); // true
ํด๋น ๋ฉ์๋๋ฅผ ํธ์ถํ ๊ฐ์ฒด๋ก ๋ฐ์ธ๋ฉ
// ๋ฉ์๋ ๋ด๋ถ์์์ this
var person1 = {
name: "daseul",
age: 26,
// person1 ๊ฐ์ฒด๋ก ๋ฐ์ธ๋ฉ
sayHello: function () {
console.log(`Hello my name is ${this.name}`);
},
};
person1.sayHello(); // Hello my name is daseul
var person2 = {
name: "daseul",
age: 26,
greeting: {
// greeting ๊ฐ์ฒด๋ก ๋ฐ์ธ๋ฉ ๋์ด name์ undefined
sayHello: function () {
console.log(`Hello my name is ${this.name}`);
},
},
};
person2.greeting.sayHello();
// Hello my name is undefined
this๋ ํญ์ ๋ณํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ ์ฃผ์ํ์!
์ด๋ค ๊ฐ์ฒด๋ฅผ ๋ฐ์ธ๋ฉํ๋์ง ํ์คํ ์๊ณ ๋์ด๊ฐ์ผ๊ฒ ๋ค.
tmi์ง๋ง...๋์๊ฒ ๋ด๊ฐ ์ฃผ๋ ์์ผ ์ ๋ฌผ๋ก ๋ชจ๋ํฐ ์ ๋ฌผํด์ ์ค๋ ์ค์นํ๋๋ฐ, ์ง์ง ์ ์ธ๊ณ๋ค...
ํ๋ฉด ๋๋ฌด ํฌ๊ณ ๊ฑฐ๋ถ๋ชฉ ์น๋ฃ๋ ๋๋~ ๋ชจ๋ํฐ์๋ ํ ๋ชซํ๋ค...
์ด์ ์ง์ง ๊ณต๋ถ ๋ ์ด์ฌํ ํ ๊บผ์ผ!!!! ๐ฅ