[TIL] 내배캠4기-React-31일차

hare·2022년 11월 30일
0

내배캠-TIL

목록 보기
23/75

오늘부터 새로운 조로 이동 기기..
7조 팀 이름은 레인보우가 되었다🌈 아이디어 내신 분 귀여우시눼..


Timeline

오전

  • 자바스크립트 심화 강의 듣기 3강까지
    • this 키워드가 너무 어렵다..
  • w3 css- 이전 프로젝트에서 적용된 것 위주로 정리하기

오후

  • 프로그래머스 코테 입문 DAY2
    • 프로젝트로 인해 미뤄왔던 코테연습.. 이제부터 열쉬미..
  • 자스 스터디 문서 읽기
    • 나머지 매개변수와 스프레드 문법
    • 전역 객체
  • TIL 작성




실행 컨텍스트

  • 실행할 코드에 제공할 환경 정보들을 모아놓은 객체 ➡ 콜 스택에 쌓임

호이스팅 개념

function a(x) {
    console.log(x); //1
    var x;
    console.log(x); //예상; undefined
    var x = 2;
    console.log(x); //2
}

a(1);

주석처럼 콘솔에 찍힐 것 같지만,
➡호이스팅 개념을 적용하여 생각해보면⬇

function a () {
    var x;
    var x;
    var x;

    x = 1;
    console.log(x); //1
    
    console.log(x); //1

    x = 2;
    console.log(x); //2
}

실제로는 이렇게 동작함을 알 수 있다


This 바인딩

화살표 함수는 skip..➡ this 유실 발생!

생성자 함수내부에서의 this
➡ 구체적인 인스턴스를 만들기 위한 틀

생성자 내부에서의 this는 인스턴스를 가리킴
➡ 인스턴스를 생성할 때마다 동적으로 가리키게 됨.

명시적 this 바인딩 (this에 별도의 값을 저장)

  1. call(thisArg, ...) : 호출 주체인 함수를 즉시 실행하는 명령어

  2. apply(thisArg, argArray) : call 메서드와 동일하지만 두번째 인자가 배열이라는 차이점!

➡✔ 활용: 유사배열객체에 배열 메서드를 적용한다.

  • 유사배열객체는 반드시 length 프로퍼티가 필요함!
  1. slice() : 배열로부터 복사한 값을 새로운 배열로 저장



프로그래머스 코테 응애단계

두 수의 나눗셈

정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.

function solution(num1, num2) {
    var answer = 0;

        answer = parseInt((num1/num2)*1000);

    return answer;
}

floor가 생각안났네..

function solution(num1, num2) {
    var answer = 0;

        answer = Math.floor((num1/num2)*1000);

    return answer;
}

function solution(num1, num2) {
    return Math.floor((num1/num2)*1000);
}

배열 두배 만들기

정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.

function solution(numbers) {
    let answer = [];
    for (let i=0; i<numbers.length; i++){
       answer[i] = numbers[i] * 2;
   }
    return answer;
}

세상엔 천재들이 많다..

//다른 풀이
function solution(numbers) {
    return numbers.reduce((a, b) => [...a, b * 2], []);
}
//또 다른 풀이
function solution(numbers) {
    return numbers.map(i=>i*2);
}



동훈튜터님이 남아서 라이브코딩도 보여주셨는데 이제 나 완전히 이해했어.. 돔.. DOM.. 뚝딱 뚝딱 세상 빠르게 코딩하셔서 넘 신기방기.. 나도 저렇게.. 머지않아.. 노오력해보자굿..
profile
해뜰날

1개의 댓글

comment-user-thumbnail
2022년 12월 1일

오 DOM 완벽이해라니 ㅎㅎ최고!!

답글 달기