공부/JAVASCRIPT

[javascript] 연산자, 할당연산자, 비교연산자, 동등연산자, 논리연산자, 삼항연산자

알로하리미 2021. 2. 28. 16:04
728x90

알로하~ javascript 배워봅시다~!

문자의 연결
JS의 문자열은 'a' ,'aaa' 이던 다 문자열이다. 다른언어처럼 하나면 character형은 없다.
+로 문자열을 연결 할수 있다.
` 빽틱안에 ${변수명}을 넣어 표현 문자열 표현을 할 수 있다. (템플릿 리터럴 - Internet explorer 사용 불가 ) 
let a = "안녕" ; 
let b = "하세요?" ; 
let c = "안녕" + b ; 
//c = "안녕하세요?"

c = a + " " + b ; 
//c = "안녕 하세요?" 

c = `${a}    ${b}`;
//c = "안녕    하세요?"  빽틱으로 사용하여 감쌀수 있다.(템플릿 리터럴 라고 한다.)

 

숫자연산
+ 더하기
- 빼기
/ 나누기
* 곱하기
% 나머지
**
++ 단항연산자 1증가   a++, ++a 후위 , 전위로 나눈다.
-- 단항연산자 1감소   a-- , --a 후위 전위로 나눈다.
let a = 5;

let c = a++ ;
//결과 : c = 5 , 설명 : 증가되기전의 a=5가 먼저 c에 들어가고 그 다음에 a가 1증가한다.   
//수행수 a = 6

let c = ++a ;
//결과 : c = 7 , 설명 : 1증가한 a가 c에 들어간다.   

let d = '1' + c ;
//js코드는 유연하다
//결과 : d= 17 , 설명 : '문자열' + 숫자 = '문자열연결"

let e = '1' / '2' ;
//문자열의 나눗셈 JS Runtime 시점 숫자로 파악되어 나눗셈이 가능.
//결과 : 0.5 ; 

// 숫자 연산시 Infinity, -Infinity, NaN(not a number) 결과가 나올 수 있으므로
// 각항이 유효한 값인지 확인 후 연산하라

 

할당 연산자
let a = 1 ;
let b = 2 ;

a += b ;
//a = a + b 즉, a = 3

a -= b ;
//a = a - b 즉, a = 3-2 = 1 

a *= b ;
//a = a * b 즉, a = 1 * 2 = 2

a /= b ;
//a = a / b 즉, a = 2 / 2 = 1

 

비교, 논리, 동등 연산자(조건절에 사용)
< a < b  비교연산하여 맞으면 true
<= a <= b 비교연산하여 맞으면 true
> a > b 비교연산하여 맞으면 true
>= a >= b 비교연산하여 맞으면 true
|| a>b || b>c  둘중에 하나 만족하면 true
&& a>b && b>c  둘다 만족해야만 true
! !(a>b) true면 false, false 면 true로 전환
== 값을비교 (느슨한 검사)
1 == '1'  // true
=== 타입도 검사(엄격한 검사)
1 === '1' // false

object검사시에는 레퍼런스 값(주소값)을 비교한다.

0 == false //true
0 === false  //false
"" == false //true
"" === false //false
null== undefined //true
null === undefined //false

* 조건절 사용시에 가장 간단한 연산부터 ~ 복잡한 연산으로 진행

if ( 간단한비교연산 && 어려운비교연산 ) 
{
    console.log("모두 true") ;
}
else
{
    console.log("하나라도 false") ;
}

//비교연산을 사용시에 가장 간단한 연산을 앞에 둔다.
//그래야 빠른 연산이 가능하다
//&& 같은 경우 하나만 false여도 다음연산을 수행할 필요없다고 파악하고 끝냄.
//|| 같은 경우 하나만 true여도 다음연산을 수행할 필요없다고 파악하고 끝냄.

 

삼항연산자
조건문 ? true일때 : flase일떄 
let a = 2;
let b = a > 0 ? "크다" : "작다" ; 
console.log(b) ; // 크다