이항 연산자 '+'
'+'는 대개 숫자를 더한 결과를 반환한다.
하지만 피연산자로 문자열이 전달되면 '+'는 덧셈이 아닌 문자열을 병합(연결)한다.
ex) alert( 1 + 1 ) // 2
alert( '1' + 2 ) // 12 << 문자열
alert( 1 + '3' ) // 13 << 문자열
ref) alert( 1 + 1 + '1' ) // 문자열 111이 아니라 문자열 21이 나온다.
//왼쪽에서 오른쪽으로 순차적으로 연산이 진행되기 때문이다.
alert( 2 - '1') // 1 , '1'을 숫자로 바꾼 뒤에 연산이 진행된다.
alert( '4' / '2' ) // 2, 두 피연산자가 숫자로 바뀐 뒤에 연산이 진행된다.
단항 연산자 '+'
숫자에 단항 덧셈 연산자가 붙으면 이 연산자는 아무런 동작도 하지 않는다.
하지만 피연산자가 숫자가 아닌 경우에는 숫자형으로의 변환이 일어난다.
ex) let x = 2
alert( +x ) // 2
let y = -2
alert( +y ) // -2
alert( +true ) // 1
alert( +"" ) // 0
alert( +"abc" ) // NaN
let a = "2"
let b = "3"
alert( a + b ) // 23
alert( +a + +b ) // 5
let first = prompt("덧셈할 첫 번째 숫자를 입력하세요",1)
let second = prompt("덧셈할 두 번째 숫자를 입력하세요",2)
//기본값을 입력한다고 할 때
alert( first + second ) // 12
alert( +first + +second ) //3
'JavaScript' 카테고리의 다른 글
JavaScript 논리연산자 (0) | 2022.01.19 |
---|---|
JavaScript 동등연산자'=='와 일치연산자'===' (0) | 2022.01.19 |
JavaScript 형 변환 (0) | 2022.01.17 |
JavaScript 간단하게 브라우저와의 상호작용하기 : alert, prompt, confirm (0) | 2022.01.13 |
JavaScript 'null'과 'undefined' (0) | 2022.01.13 |
댓글