#2.7 Functions part One
<function(ํจ์)> : ๊ณ์ ๋ฐ๋ณตํด์ ์ฌ์ฉํ ์ ์๋ ์ฝ๋ ์กฐ๊ฐ
- ํจ์์ ์ ์ธ → function ํจ์๋ช () {์คํ์ฝ๋}
- ํจ์์ ์คํ → ํจ์๋ช ();
- ์ธ์(argument) : ํจ์๋ฅผ ์คํํ๋ ๋์ ํจ์์๊ฒ ์ด๋ค ์ ๋ณด๋ฅผ ๋ณด๋ผ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก, () ์์ ์์นํ๋ค.
#2.8 Functions part Two
argument๋ ๋ค์๊ณผ ๊ฐ์ด ๋ฐ์์ฌ ์ ์์ผ๋ฉฐ, ๋์์ ์ฌ๋ฌ ๊ฐ๋ ๋ฐ์์ฌ ์ ์๋ค.
๋ง์ฝ ์ ์ํ ํจ์์์ argument๋ฅผ ํ๋๋ฐ์ ์ ์ํ์ง ์์๋๋ฐ, ์คํ ์ํฌ ๋ arguments๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ฃ์ผ๋ฉด ๋งจ ์์ ์๋ argument๋ง ์คํ๋๋ค.
function sayHello(myName) {
console.log("Hello my name is " + myName);
}
sayHello("hayeon");
sayHello("minkyung");
function plus(a, b) {
console.log(a, b);
console.log(a + b);
}
plus(); // NaN = Not a Number(์ซ์๊ฐ ์๋)
function divide(a, b) {
console.log(a / b);
}
divide(98, 20); // 4.9
divide(30, 15, 10); // 2
console.log(myName); // Uncaught ReferenceError, myName is not defined at ~~
ํจ์ ๋ด์ ์ ์ธํ ์์์ argument๋ ํจ์ ์์์๋ง ์กด์ฌํ๋ค.
sayHello์ myName๋, plus์ divide ํจ์ ์์ ์๋ a, b๋ ๋ชจ๋ ๊ฐ๊ฐ์ ํจ์ ์์์๋ง ์กด์ฌํ๋ฉฐ, ์ด๋ฅผ ๋ฒ์ด๋๋ ์๊ฐ ๊ทธ๋ฅ ์กด์ฌํ์ง ์๋ ๊ฒ์ด ๋๋ค.
object์์ function์ ๋ถ๋ฅด๋ ๋ฐฉ๋ฒ
- ์ ์ธ : object = { property๋ช : ํจ์์ ์ธ }
- ํธ์ถ : object๋ช .ํจ์๋ช ();
argument๋ฅผ ๋ฃ๋ ๋ฐฉ๋ฒ๋ ์์ ๋์ผํ๋ค.
const player = {
name: "hayeon",
sayHello: function(){
console.log("Hello!");
},
sayMyAge: function(myAge){
console.log("I'm " + myAge + " years old.");
}
}
console.log(player.name);
player.sayHello();
player.sayMyAge(23);
#2.9 : 2.0~ 2.8 Recap
<let vs const>
: let์ ๊ธฐ์กด ๋ณ์์ ๊ฐ์ ์ ๋ํ๊ณ ์ถ์ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ฉฐ ์ฌํ ๋น์ด ๊ฐ๋ฅ, ์ฌ์ ์ธ์ X. ๊ทธ ์ด์ธ์๋ const๋ฅผ ์ฌ์ฉํ๋ค.
let userName = "hayeon";
userName = "minkyung"; // ๊ฐ๋ฅ
// let userName = "yerin"; // ์ฌ์ ์ธ ๋ถ๊ฐ๋ฅ
const age = 23;
// age = 23; // ์ฌํ ๋น๋ ๋ถ๊ฐ๋ฅ
<null vs undefined>
null : ๋ณ์์ ์์ ๊ฐ์ด ์์์ ํ ๋นํจ.
undefined : ๋ณ์๋ฅผ ์ ์ธํ์ผ๋ ์์ง ๊ฐ์ ํ ๋นํ์ง ์์
<array>
const talking = [1, 2, "์๋
ํ์ธ์", 'schoolBoycott', false, null, undefined];
console.log(talking[3]); // schoolBoycott ์ถ๋ ฅ
// const์ฌ๋ ๋ฐฐ์ด ์์ ๊ฐ ๋ณ๊ฒฝ, ์ถ๊ฐ, ์ญ์ ๋ ๊ฐ๋ฅ
talking[2] = "์ง๋ณด๋ด์ฃผ์ธ์" // "์๋
ํ์ธ์"๋ฅผ "์ง๋ณด๋ด์ฃผ์ธ์"๋ก ๋ณ๊ฒฝ
talking.push('๋ฐฑ์');
console.log(talking[2]);
console.log(talking[7]);
const์ object ๊ฐ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ const ์์ฒด๊ฐ ์๋ const ์์ ์๋ ๊ฐ ๋ฐ์ดํฐ์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ด๋ฏ๋ก ์ฌํ ๋นํ๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ์๋ค.
#2.10 Recap II
<object>
const Player = {
name:"hayeon",
age:23,
}
// object ์ถ๋ ฅ
console.log(Player);
// object ๋ด์ property ๋ณ๊ฒฝ ๊ฐ๋ฅ
Player.name="kimHaYeon";
console.log(Player.name);
// object์ ์๋ก์ด property ์ถ๊ฐ ๊ฐ๋ฅ
Player.job="๋ฐฑ์";
console.log(Player);
function์ ์์์ ์ด๋ฏธ ์ ๋ฆฌํ์ผ๋ฏ๋ก ์๋ต,
<function์ผ๋ก ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ>
const calculator = {
plus: function (a, b) {
console.log(a + b);
},
minus: function (a, b) {
console.log(a - b);
},
multiple: function (a, b) {
console.log(a * b);
},
divide: function (a, b) {
console.log(a / b);
},
square: function (a, b) {
console.log(a ** b);
},
rest: function (a, b) {
console.log(a % b);
},
};
calculator.plus(34, 23);
calculator.minus(54, 66);
calculator.multiple(22, 12);
calculator.divide(88, 22);
calculator.square(5, 5);
calculator.rest(834, 98);
#2.11 Returns
์์์ ๋ง๋ ์์ ๋ ๋ถ๋ช ํ ๊ฐ์ ์ถ๋ ฅํด์ฃผ์ง๋ง ์ค์ ๋ก ํ๋ฉด์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด์๋ console.log์ด๋ alert๋ก๋ ํด๊ฒฐํ ์ ์๋ค.
const calculator = {
plus: function (a, b) {
alert(a + b);
},
};
console.log(calculator.plus(987, 324));
function์ ๊ฒฐ๊ณผ ๊ฐ์ ๋ฐ๊ธฐ ์ํด์๋ return ๊ฐ์ ์ค์ผ ํ๋ค.
const age = 23;
function calculateKrAge(ageOfForeigner){
return ageOfForeigner + 2;
}
// return ๊ฐ์ด ์๋ค๋ฉด, ํจ์๋ฅผ ์คํํ์ ๋ ๊ทธ ๊ฒฐ๊ณผ๋ return ๊ฐ์ผ๋ก ๋์ฒด๋๋ค.
const KrAge = calculateKrAge(age);
console.log(KrAge);
return ๊ฐ์ ํจ์๋ฅผ ์คํํ์ ๋์ ๊ทธ ๊ฒฐ๊ณผ๊ฐ์ด๊ณ , ์ ์ฝ๋๋ ๊ฒฐ๊ณผ์ ์ผ๋ก 25๋ฅผ ์ถ๋ ฅํ ๊ฒ์ด๋ค.
const age = 23;
function calculateKrAge(ageOfForeigner){
ageOfForeigner + 2;
return "hello";
}
const KrAge = calculateKrAge(age);
console.log(KrAge);
return๊ฐ์ ๋ง ๊ทธ๋๋ก ๊ทธ ํจ์์ ๊ฒฐ๊ณผ ๊ฐ์ returnํด์ฃผ๊ธฐ ๋๋ฌธ์ ์ ์ฝ๋์์๋ "hello"๊ฐ ์ถ๋ ฅ๋ ๊ฒ์ด๋ค.
์ฆ ํจ์ calculateKrAge์ ๋ฐํ๊ฐ์ ์ ์ฅํ KrAge์ ๊ฐ์ ๊ทธ๋ฅ "hello"๊ฐ ๋๋ฉฐ, ์ด๋ฅผ ์ฝ์์ ์ถ๋ ฅํ ๊ฒ์ด๋ค.
์ด return ๊ฐ์ ์ด์ฉํด ์์์ ๋ง๋ ๊ณ์ฐ๊ธฐ ์ฝ๋์์ ๊ณ์ฐ ๊ฒฐ๊ณผ๊ฐ์ ์ถ๋ ฅํ๊ธฐ ์ํด์ ๋ค์๊ณผ ๊ฐ์ด ์์ ํ๋ค.
const calculator = {
plus: function (a, b) {
return a + b;
},
minus: function (a, b) {
return a - b;
},
multiple: function (a, b) {
return a * b;
},
divide: function (a, b) {
return a / b;
},
square: function (a, b) {
return a ** b;
},
rest: function (a, b) {
return a % b;
},
};
calculator.plus(2, 3); // console์ ๋น์ฐํ๊ฒ ์๋ฌด๊ฒ๋ ๋จ์ง ์๋๋ค.
// ------------------------------------------------------------------
const plusResult = calculator.plus(2, 3);
const minusResult = calculator.minus(plusResult, 10);
const multipleResult = calculator.multiple(10, minusResult);
const divideResult = calculator.divide(multipleResult, plusResult);
const squareResult = calculator.square(divideResult, multipleResult);
console.log(plusResult);
console.log(minusResult);
console.log(multipleResult);
console.log(divideResult);
console.log(squareResult);
ํด๋น return ๊ฐ์ ๋ฐ์ ๋ณ์๋ค๋ก ๋ค์๊ณผ ๊ฐ์ด ๋ค๋ฅธ ํจ์์ ์ธ์๊ฐ์ผ๋ก ์ ๊ทผํ ์๋ ์๋ค.
'javascript > ๋ฐ๋๋ผ JS๋ก ํฌ๋กฌ ์ฑ ๋ง๋ค๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DAY 8 (0) | 2023.01.03 |
---|---|
DAY 5 (0) | 2022.12.30 |
DAY 4 (0) | 2022.12.30 |
DAY 2 (1) | 2022.12.28 |
DAY 1 (0) | 2022.12.27 |