반응형

[광고 누르면 오늘의 행운 상승!!]

  • JavaScript의 연산자
    → C언어, JAVA와 다르지 않음
    → 단, 자동 형 변환 주의!
    → 예) 자동 형 변환
  • 연산자 : 피 연산자의 개수에 따라 분류
  • 프로그래밍 연산자
    1. 산술 연산자 
    2. 비교 연산자
    3. 논리 연산자

    -> 1,2,3 + 문자,기호
[23, 45, 24, 3]; // 배열을 생성하는 대괄호
new Date; : 객체를 생성하는 생성자 new
delete myObject.go : 객체 프로퍼티를 삭제하는 delete
myfunction() : 함수를 실행하는 ()

 

  • 산술 연산자 : 숫자의 사칙연산 + 응용 연산
    → 자동 형 변환으로 피 연산자에 문자가 포함되어도 연산 가능

덧셈 연산자

  • 덧셈 연산자
    → 피 연산자 모두 숫자 덧셈 연산
    → 피 연산자 중 하나라도 문자열이라면 : 피 연산자가 연결된 문자열

  1. 피 연산자가 모두 숫자
var n1 = 123;
var n2 = 456;

result = n1 + n2;
document.writeln(n1 + "+" + n2 + "=" + result + "<br>");

-> 123 + 456 = 579 //일반적인 더하기 연산

 

2. 첫번쨰 피 연산자 : 숫자, 두 번째 피 연산자 
    → 숫자 형태의 문자열

var n1 = 123;
var n2 = "456";
    
result = n1 + n2;
document.writeln(n1 + "+" + n2 + "=" + result + "<br>");
    
-> 123 + 456 = 123456 // 피 연산자 모두 연결한 문자열

 

뺄셈과 곱셈 연산자

  • 피 연산자가 숫자 타입이 아닐 때
  • 덧셈 연산자 : 숫자를 문자열로 형 변환
  • 뺄셈과 곱셈 연산자 : 숫자 형태의 문자열을 숫자로 자동 형 변환
  • 숫자나 숫자 형태의 문자열이 아닐 경우, 결과는 숫자가 아님.

var n1 = 123;   var n2 = "456";
var s1 = "456"; var s2 = "string"; var result;


result = n2 - n1;
document.writeln(n2 + "-" + n1 + "=" + result + "<br>");
result = s1 - n1;
document.writeln(s1 + "-" + n1 + "=" + result + "<br>");
result = s2 - n1;
document.writeln(s2 + "-" + n1 + "=" + result + "<br><br>");

result = n2 * n1;
document.writeln(n2 + "*" + n1 + "=" + result + "<br>");
result = s1 * n1;
document.writeln(s1 + "*" + n1 + "=" + result + "<br>");
result = s2 * n1;
document.writeln(s2 + "*" + n1 + "=" + result + "<br><br>");

    
-> 456 - 123    = 333
-> 456 - 123    = 333
-> string - 123 = NaN

-> 123 * 456    = 56088
-> 123 * 456    = 56088
-> 123 * string = NaN

 

나눗셈 연산자

  • 나눗셈 연산 : 피 연산자가 모두 정수라 할지라도 결과는 실수가 나올 수 있음.
    → JavaScript는 정수가 없음
var n1 = 123;   var n2 = "456";
var s1 = "456"; var s2 = "string"; var result;


result = n2 / n1;
document.writeln(n2 + "/" + n1 + "=" + result + "<br>");
result = s1 / n1;
document.writeln(s1 + "/" + n1 + "=" + result + "<br>");

-> 456 / 123    = 3.707317073170732
-> 456 / 123    = 3.707317073170732
// 피 연산자 모두 정수 -> 실수 값

result = n2 / zero;
document.writeln(n2 + "/" + zero + "=" + result + "<br>");
result = n2 / s2;
document.writeln(n2 + "/" + s2 + "=" + result + "<br><br>");

-> 456 / 0      = infinity
-> 456 / string = NaN
// 피 연산자에 문자열 포함 : 숫자 형 문자열로 자동 변환
// 나누셈 0 으로 나누는 것 불허 -> 에러 발생

 

  • 나머지 연산 : 나눗셈 연산과 비슷
    → 나머지를 결과 값으로 취함
var n1 = 123;   var n2 = "456";
var s1 = "456"; var s2 = "string"; var result;


result = n2 % n1;
document.writeln(n2 + "%" + n1 + "=" + result + "<br>");
result = s1 % n1;
document.writeln(s1 + "%" + n1 + "=" + result + "<br>");
result = n2 * s2;
document.writeln(n2 + "%" + s2 + "=" + result + "<br>");

-> 456 % 123    = 87
-> 456 % 123    = 87
-> 456 % string = NaN

단항 산술 연산자

  • 단 항 산술 연산자 : +, - , ++, - -
  • (단항) +,- : 양수, 음수 변경 및 표현
var n1 = 123456;    var n2;
var s1 = "123456";  var result;
    
    
result = -n1;
document.writeln("양수 123456에 단 항 마이너스 연산자 적용 : " + result + "<br>");
n2 = result;
result = +n2;
document.writeln("음수 -123456에 단 항 플러스 연산자 적용 : " + result + "<br>");
result = -n2;
document.writeln("음수 -123456에 단 항 마이너스 연산자 적용 : " + result + "<br>");
result = -s2;
document.writeln("문자열 123456에 단 항 마이너스 연산자 적용 : " + result + "<br>");
-> -123456
-> -123456
-> 123456
-> -123456

// 양수 -> 음수 / 음수 -> 양수
// 숫자 형 문자열의 경우 숫자로 자동 형 변환

 

  • 증가 연산자 : ++ / 감소 연산자 : - -
var i = 1;
i = i + 1;
var j = i;

// var i = 1;
// var j = ++i;

 

  • 증가/감소 연산자 위치에 따라 다른 결과 값 제시
var i = 1; var k =1;
var j = ++i; var y = k++;

document.writeln("j =" j);
document.writeln("i =" i);

document.writeln("y =" y);
document.writeln("k =" k);

-> j = 2
-> i = 2

-> y = 1
-> k = 2

//피 연산자 앞 : 증가/감소 연산 후 변수에 넣기
//피 연산자 뒤 : 변수에 넣은 후 증가/감소 연산

 

할당 연산자

  • 할당 : 값 또는 참조를 변수 등에 전달함
  • 대표 연산자 : = → 수학 : 같음 → 프로그래밍 : 할당 연산자
var a = 123; // 변수 a에 숫자 123 할당
var b = new Date; //변수 b에 객체 Data 할당
var c = function(a,b) {return a+b;}; //변수 c에 함수를 할당
// 산술, 비교, 논리 연산자와 함께 사용

var a = 10; var b = 15; 
a += b; //피 연산자의 연산 후 할당
  • 특정 수치 만큼 값 증가/감소 시 유용
할당 연산자 사용 예 연산 방법
+= a += b  a = a + b
-= a -= b  a = a - b
*= a *= b  a = a * b
/= a /= b  a = a / b
%= a %= b  a = a % b

 

동등 연산자

  • 동등 연산자(==) : 피 연산자의 값이 같다 → 결과 : boolean 값
  • 사용 : 조건 문, 반복 문의 프로그래밍 실행 흐름 제어
  • 예) if 문 내부 동등 연산자 사용
if(a==b){
		alert("a와 b는 같습니다"); 
}

//a와 b의 값이 같다면
//연산 결과 true 반환
-> 중괄호 내부의 코드 실행

 

  • 일치 연산자(===)
    데이터 타입과 객체의 참조 등에 사용 동등 연산자보다 엄격하게
    값이 일치하는지 비교(데이터 타입까지 비교)
var a = 123; var b = "123";

if(a == b) {
	document.writeln("같다");
}else{
	document.writeln("다르다");
}

->> 같다

if(a === b) {
	document.writeln("같다");
}else{
	document.writeln("다르다");
}

->> 다르다

 

  • 참조가 전달되는 값은 같은 참조 값이어야 동등과 일치가 참이 됨
  • Nan, undefined, null → NaN(숫자가 아님을 표시) : 자신을 포함한 어떤 것과도 같지 않음
  • Nan 확인 시, if(a==NaN)으로 확인 불가 isNaN() 함수 사용
  • Null과 undefined : 동등 연산자로 비교 시 같다고 표시

  • 부등 연산자 : 동등의 반대 개념(!=) → 같지 않음을 판단(같지 않으면 true, 같으면 false)반환

  • 불일치 연산자 : 일치의 반대 개념(!==)

비교 연산자

  • 비교 연산자 : true, false 로 결과 반환
비교 연산자 의미
< 첫 번째 피 연산자가 두 번째 피 연산자 보다 작다
> 첫 번째 피 연산자가 두 번째 피 연산자 보다 크다
<= 첫 번째 피 연산자가 두 번째 피 연산자 보다 같거나 작다
>= 첫 번째 피 연산자가 두 번째 피 연산자 보다 같거나 크다
  • 피 연산자 = 숫자 : 결과 쉽게 판단 가능
  • 피 연산자 = 문자 : 문자 코드의 순서대로 크기 비교
  • 피 연산자 = 객체 : 객체를 숫자나 문자로 자동 변환하려고 시도하고 변환되지 않으면 false반환
    -> 문자 비교 시, 대문자가 소문자보다 작다고 판단 됨##

논리 연산자

  • 논리 연산자 : Boolean 값 연산 → 비교 연산자와 함께 사용
  • AND 연산자(&&) , OR 연산자(||)
AND 연산자(&&)

true  && true  -> true
true  && false -> false
true  && true  -> false
false && false -> false

OR 연산자(||)

true  || true  -> true
true  || false -> true
true  || true  -> true
false || false -> false
  • 논리 NOT(!) : 피 연산자의 Boolean 값을 반대로 바꿈(단 항 연산자)

  • 삼 항 연산자(피 연산자 3개) : 조건 연산자 → 구조 : (조건)? (참인결과) : (거짓인결과);

  • in 연산자 : 문자 열이 배열이나 객체에 존재하는 지 확인하는 연산자 결과값 : Boolean 값 반환 구조 : (문자 열) in (배열/객체)

  • instanceof 연산자 : 인스턴스 확인하는 연산자 결과 값 : Boolean 값 반환

  • typeof 연산자 : 피 연산자의 데이터 타입 문자열로 반환

  • delete 연산자 : 객체의 property 삭제하는 연산자

반응형

+ Recent posts