본문 바로가기

프로그래밍 공부/JavaScript

JavaScript - 화살표 함수, 전개 연산자, 함수 연습문제

화살표 함수

일반적인 함수 화살표 함수

function power(n){
     n*=n;
     return n;
}
power(n);

var power=(n)=>n*n
power(n);

형태는 ( ) => { }이다. 한 줄이라면 중괄호를 생략해도 되고, return 키워드를 사용하지 않아도 값을 리턴하게 된다.

 

전개 연산자

var sumAll=(...numbers)=>{
     var output=0;
     for(var i=0i<numbers.lengthi++){
     output+=numbers[i];
     }
     return alert(output);
}
sumAll(1,2,3,4,5);

마침표 3개(...)을 찍어 표기한다. 전개 연산자는 함수 또는 배열에 적용할 수 있다. 또 전개 연산자는 다른 매개변수와 조합해서 입력할 수 있지만 어디까지가 가변 매개변수인지 명확하지 않기 때문에 문제가 발생할 수 있다. 따라서 맨 뒤에 전개 연산자를 사용해야한다.

기존에 함수의 매개변수에 배열을 전개해 넣는 방법 전개 연산자를 사용해 배열을 전개해 넣는 방법

var sumAll=(...numbers)=>{
     var output=0;
     for(var i=0i<numbers.lengthi++){
          output+=numbers[i];
     }
     return alert(output);
}
var array=[1,2,3,4,5,6,7,8];
sumAll.apply(null, array);

var sumAll=(...numbers)=>{
     var output=0;
     for(var i=0i<numbers.lengthi++){
          output+=numbers[i];
     }
     return alert(output);
}
var array=[1,2,3,4,5,6,7,8];
sumAll(...array);

.apply(null, 배열)을 사용해 넣는 방법을 사용했지만 전개 연산자를 사용하는 방법도 있다.

화살표 함수, 전개 연산자.html
0.00MB

연습문제

1. 함수 이름 power1

-매개변수를 하나 넣으면 제곱해주는 함수를 만들어라(예 : power1(2) = 4)

더보기
1
2
3
4
function power1(n){
    return n*=n;
}
console.log(power1(2));
cs

2. 함수 이름 power2

-매개변수를 두 개 넣으면 <첫 번째 매개변수>의 <두 번째 매개변수> 제곱만큼 해주는 함수를 만들어라(예 : power2(2, 3) = 8)

더보기

-Math.pow 사용

1
2
3
4
function power2(a,b){
    return Math.pow(a,b);
}
console.log(power2(2,3));
cs

-for 반복문 사용

1
2
3
4
5
6
7
8
function power2 (a, b){
    let result=1;
    for(let i=0; i<b; i++){
        result*=a;
    }
    return alert(result);
}
power3(Number(prompt("숫자 입력")), Number(prompt("제곱근 입력")));
cs

-산술 연산자 사용

1
2
3
4
function power2(n,m){
    return alert(n**m);
}
power2(Number(prompt("숫자 입력")), Number(prompt("제곱근 입력")));
cs

-1번 문제와 2번 문제를 조건문으로 하나로 만든다.

1
2
3
4
5
6
7
8
9
10
11
12
13
function power (a, b){
    let result=1;
    if(b){
        for(let i=0; i<b; i++){
            result*=a;
        }
        return console.log(result);
    }else{
        return console.log(a*a);
    }
}
power(23);
power(2);
cs

3. 함수 이름 multiply

-매개변수로 넣은 값을 모두 곱해주는 함수를 만들어라(예 : multiply(1, 2, 3, 4, 5) = 120)

더보기

-arguments 사용

1
2
3
4
5
6
7
8
function multiply (){
    let a = 1;
    for(let i=0; i<arguments.length; i++){
        a*=arguments[i];
    }
    return a;
}
console.log(multiply(1,2,3,4,5));
cs

-전개 연산자 사용

1
2
3
4
5
6
7
8
function multiply (...numbers){
    let result=1;
    for(let i=0; i<numbers.length; i++){
        result*=numbers[i]
    }
    return result;
}
console.log(multiply(1,2,3,4,5));
cs

-배열 사용

1
2
3
4
5
6
7
8
function multiply(array){
    let a=1;
    for(let i=0; i<array.length; i++){
        a*=array[i];
    }
    return a;
}
console.log(multiply([1,2,3,4,5,]));
cs

4. 사용자에게 입력을 받아 입력이 숫자인지 확인하는 코드를 만들어라

더보기
1
2
3
4
5
6
7
8
function checknumber(n){
    if(isNaN(Number(n))){
        return alert("Not a Number!");
    }else{
        return alert("It's a Number!");
    }
}
checknumber(prompt("숫자를 입력하시오."));
cs

함수 연습문제.html
0.00MB