오늘 공부한 내용 요약
어제 this의 값은 함수를 호출하는 방법에 따라 값이 결정된다는걸 학습함
this는 일반함수와 화살표 함수의 큰 차이점 중 하나라고 함.
화살표 함수는 자신의 상위 함수의 this를 상속 받음.
위의 이유는 화살표 함수를 사용하면 자동으로 bind가 되기 때문.
a=> this.b
와
function (a) {return this.b}.bind(this) 는 같다
Baekjoon에서 문제풀이
문제 : 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
풀이
if문을 사용해
if (a >= 90 && a <=100) {
console.log('A');
} else if (a>=80 && a<=89) {
console.log('B');
} else if (a>=70 && a<=79) {
console.log('C');
} else if (a>=60 && a<=69) {
console.log('D');
} else {
console.log('F');
}
을 만드는건 간단하나 앞의 문제들과 같이 처음에 선언해야하는 값의 범위설정과 선언하는 방법을 틀리고 있는것 같다.
숫자형으로 넣어줘야 하는데 number보다는 parseInt를 사용해주는게 좋을거 같아
let a;
a = parseInt(a);
if(a >=0 && a<100) {
if (a >= 90 && a <=100) {
console.log('A');
} else if (a>=80 && a<=89) {
console.log('B');
} else if (a>=70 && a<=79) {
console.log('C');
} else if (a>=60 && a<=69) {
console.log('D');
} else {
console.log('F');
}
}
이런식으로 시도했는데 오답.
근본적인 선언 및 기초부분을 다시 공부해야 겠음.
마무리
대부분의 baekjoon문제에서 모두 같은 부분에서 막힌거 같은데 더 노력요망.
위의 내용은 공부중 본인이 이해한 내용으로 몇몇 틀린 내용이 있을 수 있습니다.
회독중 발견시 수정하겠습니다