happyso
study with happyso
happyso
전체 방문자
오늘
어제
  • 분류 전체보기 (300)
    • GIT (3)
    • 컴퓨터 기본 개념 (29)
    • 알고리즘 (125)
      • 알고리즘 문제 (115)
      • 알고리즘 개념 (10)
    • Go (2)
    • 클라우드 (53)
      • DevOps (3)
      • Kubernetes(쿠버네티스) (33)
      • AWS (6)
      • CKA (8)
    • 리눅스(Linux) (18)
      • 컨테이너(Container) (8)
    • Front (22)
      • JavaScript (2)
      • React (20)
    • Python (21)
      • Python 웹 크롤링 (11)
      • Django (7)
      • MachineLearning (3)
    • 데이터베이스 (6)
      • MariaDB (2)
      • MongoDB (4)
    • C언어 (5)
    • Trouble Shooting (2)
    • 네트워크 (8)
      • CCNA (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 15
  • apply
  • Patch
  • kubernetes
  • 18
  • edit
  • replace

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
happyso

study with happyso

Front/JavaScript

[JavaScript] 기본 개념 정리2

2020. 11. 3. 10:30

참고 ⇒ https://poiemaweb.com/

 

매개변수(parameter)

<script>
    function sum(a, b) {
        return a + b;
    }
 
    //  매개변수 기본값 설정
    function printLog(msg = 'No Message') {
        console.log(msg);
        console.log({ msg });
    }
    printLog();                 // No Message
                                // { msg: 'No Message' }
    printLog('Some Message');   // Some Message
                                // { msg: 'Some Message' }
 
 
    //  매개변수 기본값으로 함수를 호출
    function getDefault() {
        return 1;
    }
    function printLog2(a = getDefault()) {
        console.log(a);
    }
    printLog2();                // 1
    printLog2(2);               // 2
 
 
    function required() {
        throw new Error('필수 입력입니다.');
    }
    function printLog3(a = required()) {
        console.log(a);
    }
    printLog3(3);               // 3
    printLog3();                // Uncaught Error: 필수 입력입니다.
 
</script>

 

나머지 매개변수 (rest parameter)

<script>
    //  나머지 매개변수를 사용하는 코드
    {
        function printLog(a, ...rest) {
            console.log(a, ...rest);
            console.log({ a, rest });
        }    
        printLog(1, 2);         //  1 2
                                //  { a: 1, rest: [2] }
        printLog(1, 2, 3);      //  1 2 3
                                //  { a: 1, rest: [2,3] }
        printLog(1, 2, 3, 4);   //  1 2 3 4
                                //  { a: 1, rest: [2,3,4] }
    }
 
    //  arguments 키워드를 이용해서 구현
    {
        function printLog() {
            let a = Array.from(arguments).slice(0, 1);
            let rest = Array.from(arguments).slice(1);
            console.log(a, rest);
        }
        printLog(1, 2);
        printLog(1, 2, 3);
        printLog(1, 2, 3, 4);
    }
</script>

 

명명된 매개변수 (named parameter)

<script>
    //  greaterThan 보다 크고, lessThan 보다 작은 numbers를 반환
    function getValues(numbers, greaterThan, lessThan) {
        //          ...
    } 
 
    const numbers = [ 10, 20, 30, 40, 50 ];
    getValues(numbers, 20, 40);         // 30
    
    //  파라미터에 이름을 명시해서 전달 ==> 가독성이 향성
    getValues({ numbers, greaterThan: 20, lessThan: 40 });  
</script>

 

화살표 함수 (arrow function)

<script>
 
    //  함수 표현식을 이용한 함수 정의 (익명 함수)
    const add1 = function(a, b) { return a + b; };
    console.log(add1(1, 2));        // 3
 
    //  화살표 함수
    const add2 = (a, b) => { return a + b; };
    console.log(add2(3, 4));        // 7
 
    //  화살표 함수에서 중괄호를 감싸지 않으면 화살표 오른쪽의 계산 결과를 반환
    const add3 = (a, b) => a + b;
    console.log(add3(5, 6));        // 11
 
    //  매개 변수가 하나이면 매개 변수를 감싸고 있는 소괄호도 생략이 가능
    const add5 = a => a + 5;
    console.log(add5(5));           // 10
 
    //  객체를 반환하는 경우에는 소괄호로 감싸야 함
    const addAndReturnObject = (a, b) => ({ result: a + b });
    console.log(addAndReturnObject(7, 8));              // { result: 15 }
    console.log(addAndReturnObject(7, 8).result);       // 15
    console.log(addAndReturnObject(7, 8)["result"]);    // 15
</script>

 

 

 

 

'Front > JavaScript' 카테고리의 다른 글

[JavaScript] 기본 개념 정리  (0) 2020.11.02
    'Front/JavaScript' 카테고리의 다른 글
    • [JavaScript] 기본 개념 정리
    happyso
    happyso

    티스토리툴바