ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [22.11.10] TIL
    TIL 2022. 12. 19. 21:02

    알고리즘 미쳤냐~~

    알고리즘 1-6강 들어서자마자 머리가 새하얘졌다.
    아니 무슨말인지.. 지금 생각해보면 내가 뭘 봤고 뭘 적었는지 기억도 안난다.
    최빈값 구하기, 공간복잡도 시간복잡도 또 뭐있더라 ㅠㅠ있던 것 같은데 기억이...
    이건 다시한번 공부가 필요할 것 같다.
    알고리즘.. 취업에 중요하겠지만 일단 자바스크립트 먼저 공부를 해봐야 할 것 같다 ㅠㅠㅠ
    일단 오늘 배운건 1도 이해가 가지 않으니 기초부터 다져보려고 한다.

    • 프로그래머스 입문용 하루 최소 2문제씩 풀기(풀어서 븨로그 업로드)

    일단 알고리즘을 위해 세운 첫 목표이다.

    그리고 그 외 오늘 배운 것,
    자바스크립트 함수에 대해서 다시한번 복습했다.

    1. 함수를 선언하는 방법

    -기본적으로 재사용이 용이하게 코드 작성을 할 수 있도록 노력해야겠다.

    2. 함수의 메모리값

    -함수는 값이 들어있는 메모리주소를 참조하고 있다.
    -함수를 변수에 담게되면, 그 변수도 동일한 메모리주소를 참조하고 있다.

    function add(a, b) {
      // 함수 add에는 메모리주소 0x11이 들어있다.
      console.log(a);
      console.log(b);
      return a + b;
    }
    
    const sum = add; // 변수 sum에도 함수 add와 같은 메모리주소 0x11이 들어있다.
    
    console.log(sum(1, 2));
    console.log(add(1, 2));

    이렇게 보면, add를 변수 sum에 담았지만, sum도 사용 가능하고 add도 사용 가능하다. 값은 같다.

    3. return

    -함수에서 return을 명시하지 않으면 undefined가 반환된다.
    -그러나 아무런 값도 반환하지 않는 함수는 return을 명시하지 않아도 된다.
    -return을 함수 중간에 사용하게되면 함수가 종료된다.
    -위 예는 조건이 맞지않는 경우, 함수 도입부분에서 함수를 일찍 종료하고 싶을 때 사용한다.

    function print(num) {
      if (num < 0) {
        return;
      }
      console.log(num);
    }

    num이 0보다 크면 num을 출력하고, 0보다 작으면 함수를 종료한다.

    4-1. 매개변수와 인자

    -매개변수와 인자가 뭔지 헷갈렸는데 개념을 확실히 알았다.
    -매개변수에 기본값을 지정해 줄 수 있다.
    -기본값을 지정해줘도 외부에서 값을 주면 외부값으로 사용된다.

    function add(a = 1, b) {
      // a,b => 매개변수 라고 함. 
      // 매개변수에 기본값을 지정해 줄 수 있음.
      console.log(a);
      console.log(b);
      console.log(arguments);
      return a + b;
    }
    add(1,2,3,4,5); // 1,2,3,4,5 => 인자 라고 함.
    /** 결과 : 
    1
    2
    [Arguments] { '0': 1, '1': 2, '2': 3, '3': 4, '4': 5 } */

    arguments를 출력하면 오브젝트로 출력된다.

    4-2. ...매개변수

    -Rest 매개변수, Rest parameters 라고도 한다

    function sum(a, b, ...c) {
    
      console.log(a);
      console.log(b);
      console.log(c);
    }
    sum(1, 2, 3, 4, 5, 6, 7);
    /** 결과 : 
    1
    2
    [ 3, 4, 5, 6, 7 ] */

    이렇게, 인자들을 넣어줬는데 ...c 라는 rest 매개변수를 넣어주니 arguments의 0번째 1번째 index인 매개변수 a,b를 제외한 나머지들은 매개변수 c에 array 형식으로 저장되는것을 알 수 있다.

    5-1. 함수 표현식

    -무명함수, 말그대로 이름이 없는 함수이다. 변수에 함수를 넣어 사용하는 경우이다.
    -무명함수에 이름을 넣어 사용하면 error이니 주의하자.

    let add = function (a, b) {
      return a + b;
    };
    console.log(add(1, 2));

    위 무명함수는 화살표 함수로도 사용할 수 있다.

    let add = (a, b) => {
      return a + b;
    };
    console.log(add(1, 2));

    근데 "값만" 반환하는 무명함수는 괄호와 return 문구를 생략 할 수 있다.

    let add2 = (a, b) => a + b;
    console.log(add2(3, 4));

    이런식으로 점점 짧아지는 것을 볼 수 있다.
    근데 무명함수는 아무데서나 쓰는건 아니다.
    아직 어떤 상황에서 써야하는지는 나오지 않았는데, 내일 구글링 해보기로 한다.

    5-2.IIFE

    -바로 호출해서 실행하는 함수, 함수를 괄호로 묶는다.
    -자주 사용하지는 않고, front에서 가끔 즉각적으로 실행하고싶은 코드가 있을 때 사용한다.

    (function run() {
      console.log('g');
    })();

    그 외

    -생성자 함수라는게 있는데 그건 객체 배울 때 배운다고 한다.

    (const object = new function();)

    이런 코드라고 한다.


    어제,오늘은 가족여행 때문에 집중을 못했다.
    내일부터 집중하고, 이삿날까지 일단 화이팅 해보자

    'TIL' 카테고리의 다른 글

    [22.11.14] TIL  (0) 2022.12.19
    [22.11.11] TIL  (0) 2022.12.19
    [22.11.08] TIL  (0) 2022.12.19
    [22.11.07] TIL  (0) 2022.12.19
    [22.11.04] TIL  (0) 2022.12.19
Designed by Tistory.