728x90
반응형
/**
* function -> 함수
*/
/**
* 2라는 숫자에 *10 /2 %3 스트링으로 변환해서
* 반환받고싶다면?
*/
console.log((2 * 10 / 2 % 3).toString()); // 1
console.log((3 * 10 / 2 % 3).toString()); // 0
/**
* DRY
* D -> don't
* R -> repeat
* Y -> yourself
*/
function calculate (){
console.log((2 * 10 / 2 % 3).toString()); // 1
}
// calculate();
function calculate (number){ // number = Parameter
console.log((number * 10 / 2 % 3).toString());
}
/**
* 함수에서 입력받는 값에 대한 정의를 Parameter 라고한다
*
* 실제 입력하는 값은 argument 라고한다
*/
calculate(4); // 4 = argument
calculate(5); // 5 = argument
function multiply(x,y){
console.log(x * y);
}
multiply(2,4); 8
function multiply(x , y = 10){
console.log(x * y);
}
multiply(2,4); // 8
multiply(2); // 20 두 파라미터에 대해 디폴트값을 설정해 뒀기떄문
/**
* 반환받기
* return
*/
function multiply(x,y){
return x * y;
}
const result1 = multiply(2,4);
console.log(result1); // 8
const result2 = multiply(4,5);
console.log(result2); //20
/**
* Arrow 함수
*/
const multiply2 = (x,y) =>{
return x * y;
}
console.log(multiply2(3,4));12
const multiply3 = (x,y) => x * y; // muiltiply2 함수와 동일하게 작동
console.log(multiply3(3,4)); // 12
const multiply4 = (x) => x * 2;
console.log(multiply4(2)); // 4
const multiply5 = x => x * 2;
console.log(multiply5(2)); // 4 , multiply4와 동일
const multiply6 = x => y => z => `x : ${x} y: ${y} z: ${z}`;
console.log(multiply6(2)(5)(4)); // x : 2 y: 5 z: 4
function multiply7(x){
return function(y){
return function(z){
return `x : ${x} y: ${y} z: ${z}`;
}
}
}
console.log(multiply7(2)(5)(4)); // // x : 2 y: 5 z: 4 , multiply6과 동일
const multiplyTwo = function(x,y){
return x*y;
}
console.log(multiplyTwo(4,5)); // 20
const multiplyThree = function(x,y,z){
console.log(arguments); // 파라미터로 받은값을 순서대로 받을 수 있다.
return x * y * z;
}
console.log(multiplyThree(4,5,6)); // [Arguments] { '0': 4, '1': 5, '2': 6 } , 120
// const multiplyAll = function(...arguments){
// return Object.values(arguments).reduce((a,b) => a * b , 1);
// }
// console.log(multiplyAll(3,4,5,6,7,8,9,10)) // 1814400
// immediately invoked function
(function(x,y){
console.log(x*y);
})(4,5); // 20
console.log(typeof multiply); // function
console.log(multiply instanceof Object); // true , 함수는 Object다
728x90
반응형