이제 다시 배우는 시간이 왔다. 그 동안 미뤘던 것을 공부하거나, 공부했던 것이라고 생각했던 것을 다시 배우는 시기라고 생각한다. 첫번째로 알고리즘이 부족하다고 생각해서 다시 하고 있다. 아니나 다를까 놓치고 있었던 것이 많았다.
알고리즘을 풀다보면 어떤 조건을 만족하면 증감 혹은 감소를 하는 경우가 생긴다. 여기에 대해서 특별하게 생각안하고 사용 했었다.
if( a === 0) x ++; // a가 0일 때 x를 증가 시킨다.
이렇게 크게 생각안하고 있던 방식을 Postfix; 후치라고 한다.
let x = 3;
y = x ++;
// y = 3
// x = 4
Postfix는 return을 한다음 증감을 실행한다.
반대로는 Prefix가 있다고 한다. Prefix는 증감을 실행하고 return으로 이어진다고 한다.
let a = 2;
b = ++a;
// a = 3
// b = 3
let a = undefined;
let b = 1;
a + b // NaN
a - b // NaN
a * b // NaN
a / b // NaN
toUpperCase(), toLowerCase() Method를 사용하면서 string을 가져와야했는데, string[i] 방식과 같이 가져오면 error가 발생하는 것이었다. 이유는 string중 공백을 포함해 있었고, string[i]방식으로 공백을 가져오면 undefined을 return하기 때문이었다. 그렇기 때문에 ChartAt(i)방식을 사용하여 공백('')을 return하려 했다. 작은 차이같지만 다 이유가 있었다 ㅠ.
substring() Method를 다시 알게 되었고, find 메소는 사용시 thisArg에 대해서 찾아봤지만 아직 정확하게는 의미를 모르겠다.
[Increment (++), MDN, 2022년06월07일 접속]
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Increment
[javascript 연산자(Operator) 이해하기, velog, 2022년06월07일 접속]
https://velog.io/@goggling/javascript-%EC%97%B0%EC%82%B0%EC%9E%90Operator-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0#%ED%9B%84%EC%B9%98---%EC%97%B0%EC%82%B0%EC%9E%90
[string.charAt(i) vs string[i],https://thisthat.dev/,2022년06월07일 접속]
https://thisthat.dev/string-char-at-vs-string-bracket-notation/