SeSac (2021-08 ~ 2021-12)/JS

deep dive Array / Number /

배워도끝이없네 2021. 10. 23. 16:13

mysql에서 계층형 답글을 할때는 셀프조인으로해서  or매핑으로 보낸다.(옛날에는 with같은것을 많이 썻음)

 

요즘 추세는 대대댓글은 많이 안쓰기때문에

질문에 답글정도로 depth를 잡고, 질문, 답글테이블을 따로 두는 편이다.

Array.filter는 리턴을 array타입으로하지만 find는 그 값에 해당하는 타입으로 반환한다.

like에서 %로 시작하면 느리고 부담이 많이 된다.

그럴때는 fulltextsearch를 써서 구현해야 한다.

 

jsx는 바벨을 통해서 출력해야 실제로 자바스크립트코드로 인식해서 출력이 된다. ({ x } 라고 쓰면 바벨을 통하지 않는다면 그냥 문자열로서 출력된다. jsx는 바벨에 포함되어있다.)

 

탈퇴는 isdel이나 outdt를 이용해서 처리를 많이한다.

 

-------------------------------------------------------------------------------------------

 

< Number, Math >

지금 우리가쓰는 컴퓨터는 폰노이만이 설계한 컴퓨터인데 단점은 소수점자리의 처리가 어렵다.

0.1 + 0.2 = 0.300000000000000000....4 이런식..

그래서 a + b === 0.3 을하면 false가 나온다. (a = 0.1, b= 0.2)

 

Number.isFinite

Number.NaN

이 두개가 헷갈리는 이유는 window.NaN, Number.NaN이 있기때문에..

 

Number.isFinite와ㅏ Window.isFinite가 결과값이 다르다 (undefined나 null을 넣었을때..)

Number쪽 애들은 형변환을 하지 않는다.(묵시적 형변환)

그래서 NaN을 체크하기위해선 Number.isNaN을 써야한다 (형변환을 하지 않기 위해서)

 

Number.toFixed는 리턴타입이 소수점으로 온다.

 

Math.round

Math.ceil

Math.floor

Math.abs

Math.PI

Math.sqrt

 

floor는 음수일때 내림인걸 잘 생각해야한다.

 

----------------------------------------------------------------------------------------------

<Data>

한국은 2021-10-23

미국을제외한국가 23/10/2021

미국 10/23/2021

 

화면에서 new Data를 이용해서 어떠한 규제를 만든다면 new Date는 자기 컴퓨터의 시스템시간을 가져오기때문에

위험하다(서버에서 처리하거나 ts를 이용하자)

 

웹소켓은 HTTPS에서는 WSS를써야한다 (로컬은 WS)

 

시간은 지역마다 다 다르기때문에 locale 설정이 있다.

우리나라는 GMT보다 9시간 빠르다

 

외국의 시간을 정확히 알고싶다면 Timestamp로 잡아야한다 (GMT를 달고있기때문에)

 

getMonth는 1 작게나온다.

getDay는 요일이 나온다(0,1,2,3,4,5,6 ...)

toLocaleString으로하면 로컬설정값이 된다.

 

이런것들이 귀찮으면 moment.js라이브러리를 쓰면 된다(근데 좀 무겁고 곧 deprecate될 예정이라 day.js를 사용하자)

 

 

'SeSac (2021-08 ~ 2021-12) > JS' 카테고리의 다른 글

deep dive Set & Map  (0) 2021.10.28
스프레드 연산자 / Distructuring Assignment  (0) 2021.10.26
deep dive Array  (0) 2021.10.21
deep dive closure / class  (0) 2021.10.19
deep dive 22.this  (0) 2021.10.12