과제하느라 집에 너무 늦게와서 짧게 작성한다. 주말에 더 덧붙일 예정 ㅠㅠ
isNaN()
이나 Number.isNaN()
이나 NaN(Not a Number)
값을 판별하는 메소드로 쓰이지만, 미세한 차이점이 있어서 사용에 주의를 기울어야 한다.
❗Number.isNaN()이 검증에 있어서 좀 더 까다롭다!
isNaN()
은 해당 데이터가NaN
값을 가지는 지 판단한다.Number.isNaN()
은 해당 데이터가NaN
인지 판단하는 것에서 더 나아가서 해당 데이터가Number
타입인지도 확인한다.
isNaN("10") // () 안에 있는 객체를 number 형으로 변환하기 떄문에 false 반환
Number.isNaN("10") // "10"이 문자열이므로 false를 반환
Number.isNaN(10) // 10은 Number타입이지만 NaN이 아니므로 false를 반환한다.
Number.isNaN(Number( "10") ) // 문자열 "10"을 Number()메소드를 사용해서 숫자로 변환했지만
// NaN이 아니므로 false
포트에는 이런저런 의미가 있지만 간단하게 설명하면 Port Number를 뜻하고, 그 Port는 특정 프로세스에 부여되는 특별한 ID값이다. 가장 널리 쓰이는 web이 포트 번호가 80이고, ssh 프로토콜은 22, 도메인 매핑 프로토콜인 DNS는 53번인 등등... 잘 알려진 서비스나 프로토콜은 개별적으로 부여된 포트 넘버가 있다.
포워딩은 영어로는 운송이라는 뜻도 있는데, 직관적으로 말하면 Mapping 정도로 받아들이면 될 것 같다. 왜 mapping이냐면 여기선 ip주소와 dns주소와 포트 번호와 기타등등 이야기할 것이 많은데 졸려서 더 못쓰겠다... 서버 관리를 용이하게 하기 위해서, 또는 보안 문제로 대표 주소에 다른 번호를 지닌 통로가 많은 느낌이라고 생각하면 될 것 같다.
이건 이전에 공부했던 개념이라 짧게 쓰고 싶었는데 아는 내용이라 오히려 길게 쓰게 되는 것 같다...
삼항 조건 연산자는 말 그대로 세 항으로 이루어진 조건문을 말한다.
조건문 ? 선택문1 : 선택문2
의 형식을 취하는데, 조건문이 true
값이라면 선택문1
을, false
라면 선택문2
를 실행한다.
간혹 if
문이 너무 길어지면 삼항 조건 연산자를 사용하는데, 간단한 if
문이라면 삼항 조건 연산자를 이용해서 간결하고 가독성이 좋은 코드를 작성할 수 있다.
그렇다고 하는데 화살표 함수와 마찬가지로 아직 쓸만한 상황을 못 찾았다. 언젠간 쓰겠거니?