LHJ

I'm a FE developer.

5.6 문자열 병합

21 Apr 2020 » js_lj

자바스크립트에서 + 연산자는 덧셈과 문자열 병합에 모두 사용됩니다(이렇게 하는 언어가 매우 많습니다. 펄과 PHP는 문자열 병합을 병합할 때 + 연산자를 쓰지 않는 몇 안되는 언어입니다).

자바스크립트는 피연산자의 타입을 보고 덧셈을 할지 문자열 병합을 할지 판단합니다.
덧셈과 병합은 모두 왼쪽에서 오른쪽으로 평가합니다.
자바스크립트는 두 피연산자를 왼쪽에서 오른쪽으로 평가한 후, 피연산자 중 하나라도 문자열이면 문자열 병합을 수행합니다.
두 값이 모두 숫자형이면 덧셈을 합니다.
다음 두 행을 보십시오.

3 + 5 + "8"     // 문자열 "88"이 됩니다.
"3" + 5 + 8     // 문자열 "358"이 됩니다.

첫 행에서 자바스크립트는 먼저 3 + 5가 덧셈이라고 판단합니다.
그 다음에는 8 + “8”을 문자열 병합이라고 판단합니다.
두 번째 행에서는 먼저 “3” + 5 를 병합이라고 판단하고,
“35” + 8 역시 병합이라고 판단합니다.