1. 이항 연산자 '+' 는 피연산자 중 하나만 문자열이어도, 결과가 문자열로 변환된다. (다른 산술연산은 오직 숫자형만 다루기에 자동으로 문자열도 숫자로 변환된다)
ex) alert(3 + '1') // "31"
ex) alert(1+1+"2") //< 연산 순서에 의해 1+1=2로 계산되고 2+"2" 가 되어 "22" 가 출력된다.
2. '+' 는 단항 연산자로 사용 가능하다.
- 피연산자가 숫자가 아닌 경우에 + 가 붙으면 숫자형으로 변환된다.
- 즉, Number(...) 와 동일한 역할을 한다.
// 숫자에는 아무런 영향을 미치지 않습니다.
let x = 1;
alert( +x ); // 1
let y = -2;
alert( +y ); // -2
// 숫자형이 아닌 피연산자는 숫자형으로 변화합니다.
alert( +true ); // 1
alert( +"" ); // 0
- 실제로, HTML form 에서 숫자겠거니 싶어서 가져온 값이 문자형일 경우 Number 로 변환시켜도 되지만 아래와 같이 단항 연산자로 형변환을 시켜줄 수 있다.
let apples = "2";
let oranges = "3";
alert( apples + oranges ); // 23, 이항 덧셈 연산자는 문자열을 연결합니다.
// 이항 덧셈 연산자가 적용되기 전에, 두 피연산자는 숫자형으로 변화합니다.
// "연산자 우선순위"에 따라 덧셈되기 전 숫자형으로 먼저 변화한다.
alert( +apples + +oranges ); // 5
// `Number(...)`를 사용해서 같은 동작을 하는 코드를 작성할 수 있지만, 더 기네요.
// alert( Number(apples) + Number(oranges) ); // 5
3. 연산자 우선순위
- 동일한 기호인 경우, 단항 연산자가 이항 연산자보다 우선되는 것만 JS 에서 명심하면 된다.
4. Chaining
- let a, b, c; a=b=c=2; 이런 식의 한 줄 초기화가 가능하다.
5. 증가/감소 전위/후위 연산자
- ++, -- 연산자.
- 반환 값에 해당 연산자를 사용하는 경우
- 전위형) 증가, 감소 "후" 새로운 값을 반환
- 후위형) 증가, 감소 "전" 기존 값을 반환
6. 쉼표 연산자
- 여러 표현식을 한 줄에서 평가하기 위함.
- 마지막 표현식의 평가 결과만 반환되는 연산.
- 우선순위가 매우 낮다. (a = 1+2,3+4; // a = 3,7 -> a=3 (대입 연산자가 더 높음))
- 여러 동작을 한 줄에서 처리하려는 구조에서 사용되는 연산자.
let a = (1 + 2, 3 + 4);
alert( a ); // 7 (3 + 4의 결과)
// 한 줄에서 세 개의 연산이 수행됨
for (a = 1, b = 3, c = a * b; a < 10; a++) {
...
}
'언어 > JavaScript' 카테고리의 다른 글
조건문 (0) | 2025.03.21 |
---|---|
비교 연산자 (0) | 2025.03.21 |
형 변환 (0) | 2025.03.19 |
alert, prompt, confirm (0) | 2025.03.18 |
8가지 자료형 정리 (0) | 2025.03.18 |