[JavaScript] +가 변수 앞에 붙는 이유는?

SEUNGJUN JEONG·2023년 3월 17일
0

WEB Front-End

목록 보기
5/10
post-thumbnail
if (+enteredAge < 1) {
      return;
}

가끔 예제를 학습할 때 이렇게 변수 앞에 +가 붙은 경우를 보곤 합니다. 왜 그런걸까요?

이유

const [enteredAge, setEnteredAge] = useState("");

먼저 useState를 사용하는 enteredAge 변수가 있습니다.

if (+enteredAge < 1) {
      return;
}

이 같은 예제는 나이가 1세 미만일 경우 submit이 안되는 예제인데 +를 사용하는 이유는 다음과 같습니다.
변수를 선언하는 과정에서 enteredAge는 데이터타입이 숫자가 아니기 때문에 + 연산자를 앞에 붙여 숫자로 변환시키는 것입니다.

이런 방법을 단항 더하기, Unary Plus라고 합니다.

다른 방법도 있지 않나요?

문자열을 숫자로 변경하는 방법에는 parseInt() 메소드를 사용하는 방법도 있습니다.
parseInt() 메소드와 단항 더하기의 차이를 알아보자면

  1. parseInt("5.51")을 하게되면 5를 반환하나 +"5.51"을 하면 5.51을 반환합니다.
  2. parseInt()는 문자열에서 숫자를 파싱하며 문자열을 걸러내지만 단항 더하기는 모든 입력을 거름 없이 받아들입니다. 따라서 parseInt("5개")를 하면 5를 반환하지만 +"5개"를 하면 NaN을 반환합니다.

참조

MDN - 단항 더하기 (+)
Stack Overflow

profile
Microsoft Learn Student Ambassadors

0개의 댓글