37일차 - 2022.04.06

오늘 공부한 내용 요약

this에 대하여

var a = 1;
console.log(a, this.a);     //  1  1

위 같은 형식으로
window.a / this.a / var a / 으로 선언하면
console.log(a,this.a,window.a) 모두 값이 정상적으로 출력되지만

let a / const a / 로 선언하면
console.log(a) 외에 나머지는 window 객체에 프로퍼티로 할당하지 않는다(undefined값이 나옴. )

-> 생각해봤는데 이렇게 되는 이유를 아직 설명 못하겠음. 더 고민필요함


  • 함수를 객체의 프로퍼티에 할당한다고 무조건 메서드가 되는것이 아니라 객체의 메서드로서 호출할 경우에만 메서드로 동작함. 아니면 함수로 동작
    (. 여부로 둘을 구분)

  • this에는 호출한 주체에 대한 정보가 담긴다(메서드로 호출한 경우)


  • 헷갈렸던 개념 다시

let 는 재선언은 안되고 재할당은 됨 / const는 둘다 안됨 / var은 둘다 됨
const를 기본적으로 사용하되 재할당이 필요한경우 let을 사용


Baekjoon에서 문제풀이

1) 문제 : N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.
첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 출력형식과 같게 N1부터 N9까지 출력한다.
ex) 2입력시 2 * 1 =2 이런식으로 쭉 출력되야함

고민과정

const fs = require('fs');
const input = readFileSync('/dev/stdin').toString().trim().split();

const N = Math.floor(parseInt(input[0]));

if (N>=1 && N <= 9){
    for(let i=1; i <10 ; i++) {
        console.log(`${N} * ${i} = ${N * i}`);
    }   
}

연습해보고 고민해봐도 이게 맞는거 같은데 계속 런타임오류가 남.
fs모듈로 안되는 거 같은데 readline 모듈로 실행해보겠음.

내일 할거

  • readline모듈 숙지 및 활용해서 앞의 문제들 일부 풀어보기
  • BaekJoon 문제풀이

하루 돌아보며 (TMI)

알바 후 늦게부터 시작해 시간이 상대적으로 부족.
기본서 정독중 이제 몇몇 개념들의 정의가 좀더 와닿는 느낌이 들었음.

잠자는 공간 경쟁이 치열해 평소보다 조금 일찍 취침

만족도 : ★☆☆☆☆

공부 출처

BaekJoon
코어 자바스크립트 - 정재남 지음 -


위의 내용은 공부중 본인이 이해한 내용으로 몇몇 틀린 내용이 있을 수 있습니다.
회독중 발견시 수정하겠습니다

좋은 웹페이지 즐겨찾기