JS를 정리하기전 여러 분들의 강의를 들어보았지만 개인적으로 제로초님 유투브에 업로드 된 JS강의가 저에게 맞는 것 같아 그 분의 강의를 틀로 잡고 다른 분들의 지식을 더하여 정리를 해보았습니다.
웹페이지에 생동감을 불어넣기 위해 만들어진 프로그래밍 언어이다.
JS는 코드를 한 줄씩 읽는다는 특징이 있고, JS의 중요한 부분인 console은 실시간으로 자바스크립트를 실행하고, 에러 메시지등을 출력해주는 기능을 하는데 Node.js의 REPL와 실행하는 방법이 비슷하다.<R(Read) 읽고 E(Eval) 입력 값을 평가하고 P(Print) 그 결과 값을 출력하고 L(Loop) 그 후 프롬포트가 나타나 새로운 입력을 기다린다.>
;(세미콜론)
을 붙여 명령의 끝임을 인지해주게 하고, 안붙여서 에러나는 현상을 줄일 수 있다.프로그래밍에서 쓰이는 기호들, 연산자 우선수위는 따라 결과 값이 달라지기 때문에 외워놓는게 좋다.
--, ++
*, /, %, +, -
>, >=, <, <=, ==, ===, !==, !=
&&, ||, !
=, +=, -=, *=, /=, %=
변수에 1을 더해주거나 빼주는것 붙는 자리에 따라 사용법이 달라지는데 앞에 붙으면 전위증감연산자, 뒤에 붙으면 후위증감연산자라고 부른다.
+, -, *(곱하기), /(나누기), %(나머지), **(제곱)
등이 있다.
ex) 2의 3 제곱은2**3
// 8이 나온다.
형변환 (type casting)
문자 + 숫자
하면 문자열로 바뀌는 것처럼 JS가 자동적으로 변환시켜주는 것을 형변환이라고 한다.
여기에는 규칙들이 있다.
1.+
일 때는 문자열이 아닌 것들이 문자열로 바뀜
2. 나머지 상황에서는 숫자가 아닌 것들이 숫자로 바뀜'4월' - 0 // NaN '11월' * '19일' // NaN '3' - 0 // 3
예시를 봤을 때 문자열을 함수
Number()
로 바꿔 사용하는 공식이 이용된다라는 것을 알 수 있다.
그리고 너무 헷갈린다면 자료형을 동일하게 만들고 계산해주면 된다.
>, < , >=, <=, ==, ===, !=, !==
등이 있다.3 > 5 // false 5 > 3 // true 5 != 5 // false
5
와5
는 같은데!=
를 써서 아니라고 하니false
값이 나온다.
==
은 자료형까지 비교하지 않고 형변환을 하여 같다고(true) 함.
===
은 자료형 종류까지 비교하여 비슷한 뜻으로 쓰인다고 하더라도 종류가 다르기 때문에 다르다고(false) 함.'1' == 1 // true 1 == true // true 1 != '1' // false
형변환이 되어 다
true
인데!=
을 써서 다르다고 하니false
값으로 나옴'1' === 1 // false 1 === true // false 1 !== '1' // true
형변환이 안되어 종류가 같지 않아 다
false
인데!==
을 써서 같다고 하니true
값으로 나옴
- 유일하게 같은 값인 것 같은데 아닌것
NaN == NaN // false NaN >= NaN // false NaN <= NaN // false NaN < NaN // false NaN > NaN // false NaN != NaN // true
NaN은
!=(같지 않다)
빼고는 다 결과 값이 false로 만약 x라는 값이 모르는 값인데x == x
했을 때 false가 나오면 x는 NaN이 된다.
- true와 false의 크기
true > flase // true
true는 숫자 1과 비슷한 개념이고 false는 0과 비슷한 개념이기 때문에 true가 false보다 더 크다.
- 문자열 비교 가능
사전 순이고 숫자의 크기를 모른다 하더라도.charCodeAt ()
을 사용하여 꼭 문자가 뿐만 아니라 특수문자의 정해진 숫자를 알 수 있다'b' > 'a' // true 'ad' > 'ab' // true 'cf' > 'mo' // false
- 문자열과 숫자 비교 가능
문자열이 숫자로 바뀌면서 비교 가능해짐'3' < 5 // true 'abc' < 5 // false
문자열
'3'
은 숫자3
으로 바뀌면서 숫자5
와 비교하고abc
는 숫자가 아니라NaN
로 바뀌면서NaN
는!=
빼고는 결과 값이false
라 위와 같이 나옴
&&, ||, !
등이 있다.
&&
은 비교하는 모두 다true
여야true
가 되고 그렇지 않으면false
이다.
||
은 비교하는 모두 다false
여야false
가 되고 그렇지 않으면true
이다.
!
는 반대라는 뜻으로!!
처럼 두번을 하게되면 그 값이ture
인지false
인지 알려준다.
false
인 값)
!!
을 사용하여 형변환했을 때의 값을 알 수 있다.
!!false
!!''
!!0
!!NaN
!!undefined
!!null
위의 모든 값은false
이고, 반대의 말은 truthy value라 하고 위 6개가 아닌 나머지가 해당된다.!(2 < 0) // true !2 < 0 // false
첫 번째는 ()안의 값은
false
인데!
가 있으니 반대 의미가 되어true
로 된다.
두 번째는!2
는0
인데0 < 0
은false
가 되어 그 값이 된다.
오.. 올리신거 다 봤는데 정리 진짜 깔끔하게 잘하셨네요
비교 연산자 부분에 [>, < , >=, <=, ==, ===, !=, !=== 등이 있다.] 에서 !=== 는 오타인것 같아요
잘봤습니다 유정님!👍