연산자

Jo yun hee·2022년 5월 4일
0

javaScript

목록 보기
5/17

어플리케이션을 실행하면 입력 -> 처리 -> 출력이 일어난다. 이때 처리 부분에서 연산자가 나온다.

연산자?

연산자(operator)는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산등을 수행해 하나의 값을 만든다.

값에 대하여...

값을 변수에 할당할때 원시타입객체타입이 있다.
코드에서 값을 나타내는 표기법을 리터럴이라 부른다.
123 ->숫자리터털
'123' ->문자리터럴
true -> 불리언리터럴
{} -> 객체리터럴
[] -> 배열리터럴
템플릿리터럴
function(){} -> 함수리터럴

문(statment)에 대하여...

코드에서 최소로 실행할수 있는 단위를 문이라고 한다.
선언문, 할당문, 조건문, 반복문, 표현식(값으로 평가 될수 있는 문)

1.산술연산자

산술연산자
+덧셈
-뺄셈
*곱셈
/나눗셈
%나머지

+ 연산자 주의점!!

let text = '우리'+ '나라';
console,log(text); //우리나라

let num = '1' + 1 ; //숫자와 문자열을 더하면 문자열로 반환된다.
console.log(num); // 11


2.단항 연산자

단항 산술 연산자
++증가
--감소
+어떠한 효과도 없다. 음수를 양수로 반전하지도 않는다
-양수를 음수로, 음수를 양수로 반전한 값을 반환한다
!부정(true, false값을 반환)

증감연산자 예시

a++; //a = a + 1;
a--; //a = a - 1;

주의사항!!!
  a++ //필요한 연산을 하고, 그 뒤 값을 증가시킨다
  ++a //값을 먼저 증가시키고, 필요한 연산을 한다

+ - 예시

let a = 5;
a = -a; //-1*5
console.log(a); //-5
a = -a;
console.log(a); //5 (-를 한번 더 곱하면 양수가 된다)

a = +a;
console.log(a); //+에 +를 곱하면 5

a = -a;
a = +a;
console.log(a); //5

a = -a; //-5
a = +a; //+(-5)
console.log(a); //-5


3.할당 연산자

할당 연산자
=x = 10x = 1010
+=x += 5x = x + 515
-=x -= 5x = x - 510
*=x *= 5x = x * 550
/=x /= 5x = x / 510
%=x %= 5x = x % 50


4.비교 연산자

대소관계 비교연산자
>, <, >=, <=

동등 비교 관계 비교연산자
== 값이 같음
!= 값이 다름
=== 값과 타입이 둘다 같음
!== 값과 타입이 다름

console.log(2 == 2); //true
console.log(2 != 2); //false
console.log(2 != 3); //true
console.log(2 == 3); // false
console.log(2 == '2'); //true
console.log(2 === '2'); //false
console.log(true == 1); //true
console.log(true === 1); //false
console.log(false == 0); //true
console.log(false === 0); //false
const objectOne = {
	name = 'js'
};

const objectTwo = {
	name = 'js'
};

console.log(objectOne == objectTwo); //false
console.log(objectOne === objectTwo); //false
console.log(objectOne.name == objectTwo.name); //true
console.log(objectOne.name === objectTwo.name); //true

왜 false인가? 메모리 공간에 각 다른 메모리주소를 갖고 있음으로 false가 나온다.


다른 예시~~!!
동일한 주소를 같고 있으므로 true가 나온다

let objectThree = objectTwo;
console.log(objectThree == objectTwo); //true
console.log(objectThree === objectTwo); //true


5.논리 연산자

논리 연산자
||합(OR)
&&곱(AND)
!부정(NOT)(true, false값을 반환)

논리합연산자(||) 예시

true || true; // true
true || false; //true
false || false; //false

논리곱연산자(&&) 예시

true && true; // true
true && false; //false
false || false; //false

부정연산자 예시

let boolean = true;
console.log(boolean); //true
console.log(!boolean); //false
console.log(!!boolean); //true

! 부정연산자
!! 값을 boolean 타입으로 변환한다

숫자가 아닌 타입한테 +를 붙여 숫자로 변환하면 어떤값이 나오는지 알수있다.

console.log(+false); //0
console.log(+null); //0
console.log(+''); //0
console.log(+true); //1
console.log(+'text'); //NaN
console.log(+undefined); //NaN


6.삼항 연산자

조건식의 평가 결과에 따라 반환할 값을 결정한다.

조건식 ? 조건식이 true일때 반환할 값 : 조건식이 false일때 반환할 값

var age = 26;
var beverage = (age >= 21) ? "Beer" : "Juice";
console.log(beverage); // "Beer"


7.type of 연산자

typeof 연산자는 7가지 문자열을 반환한다.

typeof ''             // "string"
typeof 1              // "number"
typeof NaN            // "number"
typeof true           // "boolean"
typeof undefined      // "undefined"
typeof Symbol()       // "symbol"
typeof null           // "object" !!버그 null타입인지 확인 할때는 일치연산자(===)를 사용하자
typeof []             // "object"
typeof {}             // "object"
typeof new Date()     // "object"
typeof /test/gi       // "object"
typeof function () {}     // "function"


8.연산자 우선순위

헷갈린다면 ()로 묶어서 우선순위를 명시해주는게 좋다!!
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Operator_Precedence

0개의 댓글