자바스크립트 연산자
연산자 우선 순위에 의한 분류
최우선 연산자 : (), [], {}, .
단항 연산자 : +, -, ++, --, !, new, typeof
- new : 객체 생성하기 위한 연산자
- typeof : 변수의 자료형을 알아내기 위해 사용하는 연산자
산술 연산자 : *, /, %, +, -
관계 연산자 : >, >=, <, <=, ==, !=, ===, !==
논리 연산자 : &&,||
삼항 연산자 : 조건식?참값:거짓값
대입 연산자 : =, *=, /=, %=, +=, -=
관계 연산자
== 연산자 또는 != 연산자는 자료형에 상관없이 값만 비교하여 비교결과를 제공한다.
num="123";
alert("비교 결과 = " +(num==123));//비교결과 = true
alert("비교 결과 = " +(num!=123));//비교결과 = false
=== 연산자 또는 !== 연산자는 자료형과 값을 모두 비교하여 비교결과를 제공한다.
num="123";
alert("비교 결과 = " +(num===123));//비교결과 = false
alert("비교 결과 = " +(num!==123));//비교결과 = true
자바스크립트 형변환
자동 형변환: 연산자에 의해 값의 자료형이 자동으로 변환되는 것
강제 형변환: 자료형 관련 함수에 의해 값의 자료형을 강제로 변환시키는 것
자동형변환
+ 연산자는 두 피연산자의 자료형이 숫자형인 경우, 산술 연산 처리한다.
alert(20+10);//30
+ 연산자는 두 피연산자 중 하나의 자료형이 문자형인 경우 모든 피연산자를 문자값으로 변환하여 결합 처리한다.
alert("20"+10);//2010
alert(20+"10");//2010
+ 연산자를 제외한 산술 연산자는 모든 피연산자를 무조건 숫자값으로 변환하여 산술 처리한다.
alert(20*10);//200
alert("20"*10);//200
alert(20-10);//10
alert(20-"10");//10
alert("20"-10);//10
alert("20"-"10");//10
NaN(Not a Number)
: 숫자형으로 변환할 수 없는 경우 제공되는 상수
NaN은 잘못된 입력으로 인해 계산을 할 수 없음을 나타내는 기호이다.
→ NaN 상수를 연산 처리하면 NaN이라는 결과를 제공한다.
alert(20-"abc");//NaN
논리값을 산술 연산한 경우 [false]는 영어로 변환되고 [true]는 1로 변환되어 연산 처리된다.
→ 숫자값을 비교 연산한 경우 0은 [false]로 변환되고 0 이외의 숫자값은 [true]로 변환되어 연산처리된다.
alert(20+true);//21
강제형변환
Number(value) : 매개변수로 전달받은 값을 숫자값으로 변환하여 반환하는 함수
String(value) : 매개변수로 전달받은 값을 문자값으로 변환하여 반환하는 함수
Boolean(value) : 매개변수로 전달받은 값을 논리값으로 변환하여 반환하는 함수
alert("20"+10);//2010 - 문자값 결합
alert(Number("20")+10);//30 - 강제 형변환을 이용해 산술 연산
'학원 > 복기' 카테고리의 다른 글
[JavaScript] 함수(Function) / 선언함수와 익명함수 / 화살표함수 (0) | 2023.06.06 |
---|---|
[JavaScript] 제어문 (0) | 2023.06.03 |
[JavaScript] JavaScript 명령 소스 제공 / onclick 이벤트 / 함수 호출 (0) | 2023.06.03 |
[JavaScript] 자바스크립트란? / window.alert() / console.log() (0) | 2023.06.01 |
[CSS] 애니메이션 관련 스타일 속성 / 반응형 웹디자인 (0) | 2023.06.01 |