1. 연산자 기본 개념
- 비교 연산자
a > b : a는 b보다 크다 (초과)
a < b : a는 b보다 작다 (미만)
a >= b : a는 b보다 크거나 같다 (이상)
a <= b : a는 b보다 작거나 같다 (이하)
a == b : a와 b는 같다
a != b : a와 b는 같지 않음. (! 부정의 의미)
- 비교 연산자 출력 값은 Boolean 밖에 없다. 참과 거짓.
- String, Number, null, undefined 등등 모든 데이터 타입을 참과 거짓으로 바꿈.
- String vs String = 사전 순으로 비교, 뒤에 오는 게 더 큰 숫자 (아스키코드)
- Number vs String = String에 숫자 문자열이면 Number로 바꿔서 비교.
- 1 = true / 0 = false
- if (조건) : 조건문에 조건으로 들어가는 곳은 무조건 Boolean 값으로 나옴.(t: 실행 / f: 실행 안 함)
2. 논리 연산자
- 왼쪽 -> 오른쪽 순차적으로 읽는다.
or || :
false 그냥 넘김, true 출력(평가 멈추고 다음으로 넘어가지 않음. = 뒤에 뭐가 오던지 상관없음)
마지막까지 true 안 나오면 맨 마지막 false 출력 (전체 false 만 있음)
and && :
true 그냥 넘김, false 출력 (평가 멈추고 다음으로 넘어가지 않음. = 뒤에 뭐가 오던지 상관없음)
마지막까지 false 없으면 맨 마지막 true 출력 (전체 true 만 있음)
!(not) : Boolean 값 반전 줌 , 값 하나 단위로 붙임
!! 이중부정 = 긍정 (원래 boolean 값) = Boolean( 불린으로 변환하는 함수 )
** 우선순위 Not => && => ||
** alert( 함수 )가 연산자 값으로 들어가면 = undefined (함수 자체가 무언가를 반환하지는 않기 때문)
판단 과정에서 false면 alert 값은 출력, 하지만 다음 항 탐색으로 넘어 감
아아아 더 잘 설명하고 싶은데
시간도 모자라고 에너지도 모자라고 잠도 모자라다ㅜㅜ
지금으로써는 이것이 최선,,,
난 오ㅐ 선행학습을 안 한 걸까...?
새로 들어온 개념들이 너무 많은데,
그때그때 이해는 하지만 머릿속이 중구난방이다.
정리가 절실하게 필요하다. 😥
이번 주 주말에 무조건 정리한다.