โ ์ด ํฌ์คํ ์ ๋ ธ๋ง๋์ฝ๋ - "๋ฐ๋๋ผ JS๋ก ํฌ๋กฌ ์ฑ ๋ง๋ค๊ธฐ๋ฅผ ๋ค์ผ๋ฉด์ ๊นํ๋ธ์ ๊ธฐ๋กํ ํ๊ธฐ๋ฅผ ์ฎ๊ธด ๋ด์ฉ์ ๋๋ค.
์์์ ๋ฐฐ์ด ๋ด์ฉ๋ค์ ๋ณต์ตํ๊ณ , function(ํจ์), argument(์ธ์), return(๋ฐํ ๊ฐ), prompt, typeof, ์กฐ๊ฑด๋ฌธ์ ๋ํด ๋ฐฐ์ ๋ค.
๐ฑ Function
๐ ๊ณ์ ๋ฐ๋ณตํด์ ์ฌ์ฉํ ์ ์๋ ์ฝ๋ ์กฐ๊ฐ, ์ด๋ค ์ฝ๋๋ฅผ ์บก์ํํด์ ์คํ์ ์ฌ๋ฌ ๋ฒ ํ ์ ์๊ฒ ํด ์ค๋ค.
- function ์์ ๋ ๐ โ๏ธ
// ๋ถ ํ์ํ ๋ฐ๋ณต ๋๋ฌด ๋ง๋ค.console.log("Hello my name is ์ด๋ฆ2");
console.log("Hello my name is ์ด๋ฆ1");
console.log("Hello my name is ์ด๋ฆ3");
console.log("Hello my name is ์ด๋ฆ4");
console.log("Hello my name is ์ด๋ฆ5");
console.log("Hello my name is ์ด๋ฆ6");
- function ์์ ๋ ๐โ๏ธ
function SayHello () {
// function์ด ์คํ ๋ ๋๋ง๋ค ๋ฐ๋ณต ๋ ๋ถ๋ถ
console.log("Hello!");
};
SayHello(); // ์ฌ๋ฌ ๋ฒ ํธ์ถ ๊ฐ๋ฅ
SayHello();
๐ฑArgument
๐ function์ ์คํํ๋ ๋์ ์ด๋ค ์ ๋ณด๋ฅผ function์๊ฒ ๋ณด๋ผ ์ ์๋ ๋ฐฉ๋ฒ
- function ์์์ data๋ฅผ ๋ฐ๋ ๋ฐฉ๋ฒ โ
(์ฒซ ๋ฒ์งธ ์์์ฒ๋ผ console.log๋ฅผ ์ฌ๋ฌ ๋ฒ ์ ๋ ฅํ์ง ์์๋ argument๋ง ๋ฐ๊ฟ์ ๊ฐํธํ๊ฒ ๊ฐ์ ๋ถ๋ฌ์ฌ ์ ์๋ค.) - → ( ) ์์ ๋ญ๊ฐ๋ฅผ ์ ๋ ๊ฒ.
function plus(potato, salad) { // argument์ ์ด๋ฆ ๊ผญ a, b์๋์ด๋ ๊ฐ๋ฅ๐
console.log(potato + salad);
}
// ๋จ, potato๋ function๋ฐ์์๋ ์ ๊ทผํ ์ ์๋ค.
plus(5, 10);
plus(1.333, 9898);
plus(9898, 1.3333);
๐ฑ Return
๐ return์ function์์ ๊ฐ์ ์ ์ฅํด ์ฃผ๋ ์ญํ ์ ํ๋ค. ์ด ๊ฐ์ return value๊ฐ ๋๋ค.๐ฒ
- return ์์ ๋ ๐ โ๏ธ
// ex) ๐ฒ ๊ณ์ฐ๊ธฐ ํจ์const calculator = {
add: function(a, b) {
console.log(a + b);
},
minus: function(a, b) {
console.log(a - b);
},
multi: function(a, b) {
console.log(a * b);
},
div: function(a, b) {
console.log(a / b);
},
powerof: function(a, b) {
console.log(a ** b);
},
};
calculator.add(3, 4);// console์ ๊ฒฐ๊ณผ ๋์จ๋ค, ๊ฐ์ด ์ ์ฅ๋์ง๋ ์๋ ์ํ๐ค
calculator.minus(3, 4);
calculator.multi(3, 4);
calculator.div(3, 4);
calculator.powerof(3, 4);
- return ์์ ๋ ๐โ๏ธ
// ex) ๐ฒ ๊ณ์ฐ๊ธฐ ํจ์const calculator = {
plus: function(a, b) {
return a + b;
},
minus: function(a, b) {
return a - b;
},
time: function(a, b) {
return a * b;
},
divide: function(a, b) {
return a / b;
},
power: function(a, b) {
return a ** b;
},
};
/**
์ด ๊ฒฐ๊ณผ๋ค์ ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์๋ค.
์ด๊ฒ์ด console.log์ return์ ์ฐจ์ด
*/
const plusResult = calculator.plus(2, 3);
const minusResult = calculator.minus(plusResult, 10);
const timeResult = calculator.time(10, minusResult);
const divideResult = calculator.divide(timeResult, plusResult);
const powerResult = calculator.power(divideResult, minusResult);
- function์ return์ด ์์ ๋ ๋ณ์์ function์ ํ ๋นํ๋ฉด, function์ return์ด ๋ณ์์ ์ ์ฅ๋๋ค.
- ์๋์ ๊ฒฐ๊ณผ๋ฅผ ์ฝ๋๋ก ๋ฐ๊ณ ์ถ๋ค๋ฉด โ → 'ํจ์๋ ์ด๋ค ์ผ์ ์ํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์๋ ค์ฃผ๋ ๊ฒ์ด๋ค'๋ผ๊ณ ์๊ฐ
// ex) ๐ ํ๊ตญ๋์ด ๊ณ์ฐ๊ธฐconst age = 96;
function calculateKrAge(ageOfForeigner) {
return ageOfForeigner + 2;
}
const KrAge = calculateKrAge(age); // return์ด ์๋ค๋ฉด ๊ฐ์ ์ ์ฅ ํ ์ ์๋ค.
console.log(KrAge);
// ๋ง์ฝ ์์ ์ฝ๋์ return์ด ์์ผ๋ฉด ๊ฒฐ๊ณผ๊ฐ undefined๋ก ๋์จ๋ค.
- ๐ ์์ฃผ ์ค์ํ ๊ฐ๋
โ
- ํ ๋ฒ return ํ๋ฉด function์ ๋๋๋ค.
โ return์ ํ๋ฉด function์ ์๋์ ๋ฉ์ถ๊ณ , ๊ฒฐ๊ณผ ๊ฐ์ return ํ๊ณ ๋๋๋ค.
- ํ ๋ฒ return ํ๋ฉด function์ ๋๋๋ค.
// ์์)
const calculator = {
plus: function(a, b) {
// ์ด ์ฝ๋๋ ์๋ โญ
console.log("hello");
return a + b;
// ์ด ์ฝ๋๋ ์ ๋ ์๋ํ์ง โ
// (returnํ๋ฉด ํจ์๋ ๋๋๊ธฐ ๋๋ฌธ!)
console.log("hello");
}
}
๐ฑ Prompt์ ์ฌ์ฉ๊ณผ typeof, parseInt
๐ ๋งค์ฐ ์ค๋๋ JS, ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ๋ ํจ์
- promt๊ฐ ์คํ๋ ๋๋ js๊ฐ ์ ์ ๋ฉ์ถ๋ค. ์ด๊ฒ์ ๋งค์ฐ ์ค๋๋ js,
- ์์ฆ์ ์ ์ฐ์ง ์๊ณ custom ํ promt๋ฅผ ์ง์ ๋ง๋๋ ์ถ์ธ์ด๋ค.
const age = prompt("How old are you?");
console.log(age);// ์
๋ ฅ๋ฐ์ age๋ฅผ ํ์ธ๊ฐ๋ฅํ๋ค.
- typeof
- ์ฌ์ฉ ์ ( ) ์์ ๊ฐ์ ํ์ ์ ์ ์ ์๋ค.
console.log(typeof "15", typeof (15));// string, number
- parseInt
- int ํ์ ์ผ๋ก ๋ณํํด ์ฃผ๋ ํจ์
const age = parseInt(prompt("How old are you?"));
/**
์ซ์๊ฐ ์๋๋ฉด NaN ๋์จ๋ค.
*/
console.log(typeof "15", typeof parseInt("15"));
- NaN
- = ์ซ์๊ฐ ์๋๋ค (Not A Number)
- isNaN( ) → ์ด๋ค ๊ฒ์ด NaN์ธ์ง ํ๋ณํ ๋ ์ฌ์ฉ
- isNaN( )์ true or false๋ฅผ return ํ๋ค. (boolean)
const age = parseInt(prompt("How old are you?"));
if (isNaN(age)) {
console.log("Please write a number");// isNan = true
}else {
consoled.log("Thank you for write your age.");// isNaN = false
}
๐ฑ Conditionals, ์กฐ๊ฑด๋ฌธ
๐ ์กฐ๊ฑด์ด ์ฌ๋ฌ ๊ฐ์ง ์ผ ๋, if์ else if, else ์ด์ฉํด์ ์กฐ๊ฑด๋ฌธ ์ฌ์ฉ
- ์กฐ๊ฑด ํ ๊ฐ์ง์ฉ ์์ ๋
const age = parseInt(prompt("How old are you?"));
if (isNaN(age)) {
console.log("Please write a number");
}else if (age< 18){
console.log("You are too young");
}else {
console.log("You can drink");
}
- ๋ ๊ฐ์ง ์ด์์ ์กฐ๊ฑด์ ๋์์ ๋ง์กฑํด์ผ ํ ๋
- AND ๐ && → ๋ ๋ค ๋ง์กฑ
- OR ๐ || → ๋ ์ค์ ํ๋๋ง ๋ง์กฑ
if (isNaN(age) || age < 0) { // ์ฌ์ฉ์๊ฐ -์๋ฅผ ์
๋ ฅํ ๋ ์๊ณ ์ถ๋ค.
console.log("Please write a real positive number");
}else if (age< 18){
console.log("You are too young");
}else if(age >= 18 && age <=50) {
console.log("You can drink");
}else if (age > 50 && age <= 80) {
console.log("You should exercise");
// ๐ ์ด ์ฝ๋๊ฐ ๋งจ ๋์ ์์ผ๋ฉด ์์ ์กฐ๊ฑด์ด ๋ ์์๊ธฐ ๋๋ฌธ์ ์คํ๋์ง ์๋๋ค.
}else if (age === 100) {
console.log("Wow you are wise")
}else if (age >80) {
console.log("You can do whatever you want.")
}
- =์ ===์ !==
- = : ๊ฐ์ ํ ๋น
- === : ๊ฐ, ํ์ ์ด ๊ฐ๋ค
- !== : ๊ฐ, ํ์ ์ด ๋ค๋ฅด๋ค
'JavaScript > Nomad Coders' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๊ธฐ] ๋ ธ๋ง๋์ฝ๋ ๋ฐ๋๋ผJS ์ฑ๋ฆฐ์ง 1์ฃผ์ผ ์ง๋ ์์ ํ๊ธฐ (0) | 2022.03.16 |
---|---|
[TIL] ๐ก Day 5 - JS๋ฅผ ํตํด์ CSS๋ฅผ ์กฐ์ํ๋ ๋ฐฉ๋ฒ๋ค (0) | 2022.03.13 |
[TIL] ๐ก Day 4 - HTML๊ณผ JS ์ฐ๊ฒฐ, ์กฐ์ ๋ฐฉ๋ฒ (0) | 2022.03.13 |
[TIL] ๐กDay 2 - JS์ ๋ณ์, ํ์ , Array, Object (0) | 2022.03.11 |
[TIL] ๐กDay 1 - JavaScript์ ์ ๋์ ํ์ฅ๊ฐ๋ฅ์ฑ (0) | 2022.03.11 |
๋๊ธ