js에서는 문자열을 결합할 때 대개 두가지 방법을 사용한다.
var a = "Hello"
var b = "world!"
var c = "7"
var d = 7
위에서 a와 b 문자열을 합치고자 하면 어떻게 해야 할까?
간단하다.
console.log(a+b)
===>>> 'Helloworld'
a와 b를 더해주기만 하면 결과가 나온다. 그런데 바로 합치면 helloworld!라고 띄워쓰기 없이
나오기 때문에 중간에 띄워쓰기를 포함한 빈 문자열(' ')만 더해주면 된다.
console.log(a+' '+b)
===>>> 'Hello world!'
그러면 문자열과 숫자를 더하면 어떻게 될까?
console.log(b+d)
===>>> 'world7'
"world7" 문자열 형태로 변환되면서 결합된다.
console.log(c+d)
===>>> "77"
문자열 7과 숫자 7을 결합하였더니 14가 아닌 문자열 77이 나온다.
그렇다면 다른 연산자들도 계산했을 때 문자열로 변할까?
var e = 50
var f = 5
var g = "2"
console.log(e-f)
===> 45
console.log(e*f)
===>>> 250
console. log(e/f)
===>>> 10
일단 당연히 숫자끼리 계산 했을 때는 숫자가 나온다.
console.log(f-g)
===>>> 3
console.log(f*g)
===>>> 10
console.log(e/g)
===>>> 25
문자열과 숫자에 연산자 -, /, * 계산을 하면 문자열이 아닌 숫자로 계산되면서 결과가 나온다.
console.log('hi '.concat('Lisa'))
===>>> hi Lisa
console.log('7'.concat(17))
===>>> 717
위와 같이 + 연산자를 사용하지 않고도 문자열에 .concat 함수를 사용해서 합쳐진 문자열을 만들 수 있다.