ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 함수?
    Front end/javaScript 2023. 11. 23. 18:18

    * 함수: 일련의 코드 묶음 이라 한다.

    // JavaScript 관련 구글링
    // 👉 site:developer.mozilla.org {연관_키워드}
    "use strict";

    // 함수, 리뷰!
    // 1. 일련의 코드 묶음(코드 재사용성 증가)
    // 2. 입력에 따른 결과 반환(like a 자판기)
    // 3. 함수 호출 시, 실행 흐름은 함수 내부로 이동
    // 4. 함수 종료 시, 실행 흐름은 이전 위치로 되돌아감

     

    - 함수의 스코프 영역

    // JavaScript 관련 구글링
    // 👉 site:developer.mozilla.org {연관_키워드}
    "use strict";

    // - 함수, 리뷰!
    // 1. 일련의 코드 묶음(코드 재사용성 증가)
    // 2. 입력에 따른 결과 반환(like a 자판기)
    // 3. 함수 호출 시, 실행 흐름은 함수 내부로 이동
    // 4. 함수 종료 시, 실행 흐름은 이전 위치로 되돌아감

    function sayHi(username) {
      console.log(`안녕하세요 ${username}입니다.`);
      return undefined;
    }

    // - 호출부 (function call): 함수를사용(실행)하는 영역
    sayHi("홍팍"); // undefined 반환됨
    sayHi("호크");
    sayHi("쿠마");

    // 선언부: 입력값 세제곱을 반환하도록 함수를 정의
    function cube(num) {
      return num * num * num;
    }

    const a = cube(2); // 8
    const b = cube(3); // 27
    console.log(`a = ${a}, b =${b}`);

    // -  파라미터, 입력값을 저장하는 변수!
    // 필요에 따라 개수 조절 가능

    // - 라면 생성 자판기 (함수) : 선택 불가 (파라미터: 0개)
    function createRamen() {
      return "🥫라면";
    }

    const ramen = createRamen();
    console.log(ramen);

    // - 만두 생성 자판기(함수): 재료 1개 선택 가능(파라미터: 1개)
    function createMandoo(ingredient) {
      return `🥟${ingredient}만두`;
    }

    const mandoo1 = createMandoo("고기");
    const mandoo2 = createMandoo("김치");
    console.log(mandoo1);
    console.log(mandoo2);

    // - 김밥 생성 자판기(함수): 재료 2개 선택 가능(파라미터 2개)
    function createKimbob(a, b) {
      return `🍙${a} ${b} 김밥`;
    }

    const kimbob1 = createKimbob("참치", "김치");
    console.log(kimbob1);

    //  - return, 함수 종료와 동시에 값을 반환!
    //  1. return => 우측 값을 반환
    //  2. return 생략하면? => undefined를 자동 반환

    function test() {
      console.log("나는 값을 반환하지 않아..!");
      //return undefined; // 생략가능
    }

    const result = test();
    console.log(result);

    // - 스코프(scope), 변수의 활동 범위
    // 1. 프로그램은 실행 흐름에 따라 변수를 관리함
    // > 함수 호출 => 파라미터와 지역변수를 만듬
    // > 함수 종료 => 파라미터와 지역변수를 제거

    function changeParameterX(x) {
      x = x + 3;
      console.log(`x = ${x}`);
    }

    changeParameterX(30); // x =33
    //console.log(x);  ERROR! x를 찾을 수 없음

    // 2. 지역변수란, 함수 또는 블럭(중괄호) 내부에 선언된 변수
    function changeLocalVariableY(n) {
      let y = n + 1; // 지역변수 y
      console.log(`y = ${y}`);
    }

    changeLocalVariableY(20);
    // console.log(y);  함수 밖에서는 출력불가!!

    // - 이름이 같지만 스코프가 다른 경우,
    function changeLocalVariableZ(n) {
      let z = n;
      console.log(`local z = ${z}`); // 3
    }

    let z = 7;
    console.log(`global z = ${z}`); // 7
    changeLocalVariableZ(3);
    console.log(`global z = ${z}`); // 7

     

     

    출저: 홍팍 (https://www.youtube.com/@hongpark)

    이 블로그 기록은 개인 공부용 기록입니다.

Designed by Tistory.