30일차 - 2022.03.30
오늘 공부한 내용 요약
this에 대해(2)
어제 this의 값은 함수를 호출하는 방법에 따라 값이 결정된다는걸 학습함
-
this는 일반함수와 화살표 함수의 큰 차이점 중 하나라고 함.
-
화살표 함수는 자신의 상위 함수의 this를 상속 받음.
위의 이유는 화살표 함수를 사용하면 자동으로 bind가 되기 때문.
a=> this.b
와
function (a) {return this.b}.bind(this) 는 같다
- bind메서드는 this 값이 어떻게 호출되었는지 상관없이 설정할수 있음 / 인자로 받은 걸 영구적으로 고정가능
- bind 함수로 컨텍스트를 고정하면 그 뒤에 call, apply등을 사용하여 다른 컨텍스트를 지정하더라도 최초에 바인드된 컨텍스트가 바뀌지 않음
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문제에서 모두 같은 부분에서 막힌거 같은데 더 노력요망.
위의 내용은 공부중 본인이 이해한 내용으로 몇몇 틀린 내용이 있을 수 있습니다.
회독중 발견시 수정하겠습니다
Author And Source
이 문제에 관하여(30일차 - 2022.03.30), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@abo7326/30일차-2022.03.30저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)