Javascript

tuna·2021년 7월 3일
0

Javascript

목록 보기
1/8
post-thumbnail

데이터 타입 null 과 undefined

  • null : 변수에 값이 없다는 것을 의도적으로 명시할 때 사용.
    변수가 이전에 참조하던 값을 더이상 참조하지 않겠다는 의미다.
  • undefined : 자바스크립트 엔진이 변수를 초기화 할 때 사용하는 값.
    undefined가 반환된다면 변수 선언 이후 값이 할당 되지 않은 것.

* null 과 undefined중에는 null값을 주로 써야 한다.

->프로젝트 협업시 undefined는 개발자가 undefined를 의도적으로 변수에 할당한것인지, 애초에 변수에 값을 할당 하지 않은 것인지 혼란을 줄 수 있으므로 null을 사용하여 변수에 값이 없다는 것을 할당한다.


자바스크립트의 버그(null)

typeof null;
>"object"

typeof 연산자로 null값 연산시 바른 반환값은 "null"이다. 그러나 실제로는 "object"를 반환하는데, 이것은 자바스크립트의 첫 번째 버전의 버그다. 기존코드에 영향을 줄 수 있으므로 수정되지 못했다.
* 값이 null 타입인지 확인할때는 typeof 연산자 대신 일치 연산자(===)를 사용한다.


논리 부정(!) 연산자

논리 부정(!) 연산자는 언제나 불리언 값을 반환한다. (true , false)
!연산자를 두번 쓸 경우 (!!) 원래 자기자신의 불리언값을 반환한다.
(불리언 값으로 형변환 하는 연산자로 사용)

ex)
!!2===2
!!true===true
!!false===false


형 변환했을 때 false가 되는 6가지 값

false, ' '(빈문자열), 0 , NaN , undefined , null

6가지 값은 모두 형 변환 했을 때 false값을 반환한다. 외워두자.


변수 선언

변수를 사용하려면 반드시 선언이 필요하다.
변수를 선언할 때는 var, let, const 키워드를 사용한다.
var은 ES6에서 let,전 유일한 변수 선언 키워드였다. 과거에는 var 키워드를 썼으나 현재는 주로 let, const 키워드를 사용한다.

++es6를 사용한다면 var키워드는 사용하지 않는다

var 키워드의 단점 : 블록 레벨 스코프를 지원하지 않고 함수 레벨 스코프를 지원함. 이로 인해 의도치 않게 전역 변수가 선언되어 심각한 부작용이 발생하기도 한다.

const 키워드는 상수, 즉 재할당이 금지된 변수다. 그러나 const에 객체(배열, 함수, 객체 리터럴)가 대입되면 객체 내부의 속성이나 배열의 요소는 수정할 수 있다.


할당(=) 연산자

우항에 있는 피연산자의 평가 결과를 좌항에 있는 변수에 할당한다.
할당 연산자는 오른쪽 항을 먼저 계산 하고, 왼쪽 항을 계산한다.


for문의 실행 순서

for(변수 선언문; 조건식; 종료식)
동작문;

  1. 변수 선언문(처음 한번만 실행)
  2. 조건식
  3. 동작문 (조건식의 결과가 true일 경우 동작)
  4. 종료식 (조건식의 결과가 false일 경우 동작)




출처 - 이 포스트는 제로초님의 youtube - ES2021 자바스크립트 강좌 와
이웅모님의 저서 <모던 자바스크립트 Deep Dive>를 참고하여 작성하였습니다.

profile
프론트엔드 공부 정리

0개의 댓글