Javascript #2

황현근·2023년 4월 11일
0

Acorn-Academy

목록 보기
5/28
post-thumbnail

Function Type의 영역(Scope)

  • 전역변수(Global Variable)
    주로 페이지 로딩 시점에 실행되며, global 영역에 정의된 자원들은 어디에서나 사용 가능하다.

  • 지역변수(Local Variable)
    함수의 중괄호 안에 속해 있는 영역이다.
    Local 영역 안에 정의된 자원들은 해당 local 영역 안에서만 사용할 수 있고, Local 영역 안에서 바깥 영역에 정의된 자원들을 사용할 수 있다.
    let globalVar = "Global";
    function myFunc() {
       let localVar = "local";
    }
    myFunc();

👉 전역변수와 지역변수는 사용가능 영역에 차이가 있다.

👉 지역변수는 전역변수보다 우선순위가 높다!


Function의 Return Type

  • undefined를 리턴하는 함수
function test(){
    console.log("test() 호출됨");
}
  • number type을 리턴하는 함수

    -변수 안에 있는 값을 변수명으로 리턴할 수도 있다.
    -리턴할 데이터를 참조하면 자동으로 참조된 값이 리턴된다.
function getNum(){
    console.log("getNum() 호출됨");
    return 999;
}
function getNum2(){
    let num = 999;
    console.log("getNum() 호출됨");
    return num;
}
  • string type을 리턴하는 함수
function getName(){
    console.log("getName() 호출됨");
    return "현근";
}
function getName2(){
    let name = "현근";
    console.log("getName() 호출됨");
    return "name";
}
  • boolean type을 리턴하는 함수
function isEven(){
    console.log("isEven() 호출됨");
    return true;
}
  • object type을 리턴하는 함수
function getMember(){
    console.log("getMember() 호출됨");
    let mem = {num:1, name:"황현근", addr:"강남"};
    return mem;
}
  • array type을 리턴하는 함수
function getFriends(){
    console.log("getFriends() 호출됨");
    let friends=["김구라", "해골", "원숭이", "주뎅이", "덩어리"];
    return friends;
}

Debug console


Function의 매개변수(Parameter)

  function(msg){
              };
  • 함수 호출시 데이터를 입력받는 기능을 말한다.
  • function(msg)에서 msg는 매개변수이다.
  • 함수에 전달되는 값을 전달 받을 변수이며, let을 선언하지 않는다.
  • 매개 변수는 해당 함수 안에서만 사용할 수 있다.
  • msg 에 뭐가 들어갈지 모르는데 call 하는 시점에 결정됨.
    (타입을 고정할 수 없음)
      let printMsg = function(msg){
        console.log("---------");
        console.log(msg);
        console.log("---------");
      };
      printMsg("hello");
      printMsg("bye");

    • 두 개의 매개변수를 갖는 함수
      let printSum=function(num1, num2){
          let sum=num1+num2;
          console.log(num1+" 과 "+ num2 + " 의 합은 "+sum);
      }
      printSum(10, 20);
    • 매개변수로 전달된 값이 function type이라는 가정 하에 사용되는 함수
    let useFunc=function(f){
    	f();
    };
    useFunc(function(){
    	console.log("하나");
    	console.log("둘");
    	console.log("셋");
    });
    useFunc(()=>{
    console.log("호출됨!");
    });

💡 Operator

  • 1. 산술 연산자

    number type 데이터를 연산할 때 사용한다.
    +, -, *, /, % (나머지 연산자)
  let result1 = 10 + 1;
  let result2 = 10 - 1;
  let result3 = 10 * 10;
  let result4 = 10 / 2;
  let result5 = 10 % 3;
  -------------------------------------------------------
  let num1=10;
  let num2=1;
  // 산술연산을 할 때 숫자가 들어 있는 변수명으로 할 수도 있다.
  let result6 = num1+1; 
  let result7 = num1%3;
  let result8 = num1-num2;
  -------------------------------------------------------
  //object 혹은 array에 들어 있는 데이터를 이용해서 연산을 할 수도 있다.
  let obj={first:10, second:20};
  let arr=[10, 20, 30];
  -------------------------------------------------------
  let result9=1+obj.first;
  let result10=10*arr[1];
  • 2. 논리 연산자

    논리(boolean) 값을 연산해주는 연산자
    • and 연산자 &&
      연산에 참여하는 boolean 값이 모두 true면 결과는 true.
    	let result1 = false && false; //false
    	let result2 = false && true; //false
    	let result3 = true && false; //false
    	let result4 = true && true; //true
    • or 연산자 ||
      연산에 참여하는 boolean 값이 하나라도 true면 결과는 true.
       let result5 = false || false; //false
        let result6 = false || true; //true
        let result7 = true || false; //true
        let result8 = true || true; //true
    • !
      논리값을 반전시키는 not 연산자이다.
      읽을 때는 "~가 아니면" 이라고 읽으면 된다.
       let result9 = !true; //false
        let result10 = !false; //true
        let isRun = confirm("달릴건가요?");
        let isWait = confirm("기다릴건가요?");
  • 3. 대입 연산자

    = : 우측에 있는 값을 좌측에 대입
    += : 우측에 있는 값을 좌측에 있는 원래 값에 더해서 대입
    -= : 우측에 있는 값을 좌측에 있는 원래 값에 빼서 대입
    *= : 우측에 있는 값을 좌측에 있는 원래 값에 곱해서 대입
    /= : 우측에 있는 값을 좌측에 있는 원래 값에 나눠서 대입
    %= : 우측에 있는 값을 좌측에 있는 원래 값에 나눈 나머지 값을 대입
   let num1 = 100;
   -----------------------------------------
    let num2 = 100;
    //num2=num2+10;
    //위의 표현을 줄여서 작성하면 아래와 같다.
    num += 10;
    -----------------------------------------
    let num3 = 100;
    //num3 = num3-10;
    num3 -= 10;
    -----------------------------------------
    let num4 = 100;
    //num4=num4*10;
    num4 *= 10;
    -----------------------------------------
    let num5 = 100;
    //num5=num5/10;
    num /= 10;
    -----------------------------------------
    let num6=100;
    //num6=num6%3;
    num6 %= 3;
  • 4. 비교 연산자

    == : 같은지 비교
    != : 다른지 비교
    : 큰지 비교
    = : 크거나 같은지 비교
    < : 작은지 비교
    <= : 작거나 같은지 비교

    비교 연산자로 주로 하는 작업

      1. 문자열의 내용이 같은지 다른지 비교
      1. 숫자의 크기 비교
      1. 숫자가 같은지 다른지 비교
      1. 논리값이 같은지 다른지 비교
      1. 문자열의 알파벳 순서 혹은 가나다 순서 비교

    1. 문자열의 내용 비교
    let myName = "김구라"
    let isEqual = myName == "김구라"; //true
    let isDifferent = myName != "해골"; //true
    1. 숫자의 크기 비교
    let myNum = 100;
    let isBigger = myNum > 50; //true
    let isSmaller = myNum < 200; //true
    1. 숫자가 같은지 다른지 비교
    let yourNum = 100;
    let isNumEqual = yourNum == 101; //false
    let isNumDiff = yourNum != 101; //true
    1. 논리값 비교
    let isRun = true;
    let result = isRun == true; //true
    let result2 = isRun != false; //true
    1. 알파벳, 가나다 순서
    let result3 = "a" < "b"; //true
    let result4 = "가" > "나"; //false
  • 5. 증감 연산자

    변수의 값을 1씩 증가시키거나 1씩 감소시키는 연산자

    값을 1씩 증가시키는 것을 Increment 연산자,
    값을 1씩 감소시키는 것을 Decrement 연산자라고 한다.

    이름사용법설명
    Incrementx++ or ++x변수의 값을 1씩 증가시킴
    Decrementx-- or --x변수의 값을 1씩 감소시킴
    let num = 0;
    //num = num+1;
    //num += 1;
    num++;
	-----------------------------------------
    let num2 = 0;
    //num = num-1;
    //num -= 1;
    num--;
	-----------------------------------------
    let num3 = 0;
    ++num3;
    num3++;
  • 6. 삼항 연산자

    3개의 항을 연산해서 결과 값을 얻어내는 연산자
let result1 = true ? "하나" : "둘";
let result2 = false ? "하나" : "둘";
-----------------------------------------
let result3 = true ? 10 : 20;
let result4 = false ? 10 : 20;
-----------------------------------------
let isWait = confirm("기다릴까요?");
let msg = isWait ? "기다리겠습니다." : "바로 출발합니다.";

0개의 댓글