2021-09-01 개발일지

정서윤·2021년 9월 1일

학습 한 내용

오늘은 자바스크립트의 변수에 대한 내용을 학습했다
// null, undefined
null : 변수 초기화로 명시적으로 .... 빈값을 변수 안에 할당한 상태 이다
var n = nall;

undefined 변수를 선언만 한 상태
var u;

// null과 undefined 차이점
console.log(typeof null);
console.log(typeof undefined);
typeof 는 typeof 띄고 한칸 뒤에 입력된 데이터가 어떠한 데이터 타입을 가지고 있는지 사용자 한테 알려주는 키워드라고 생각하면 된다.
예를 들어
console.log(typeof 10);
console.log(typeof "Hello World"); 를 작성을 하고 결과를 보면 숫자를 입력 한 곳엔 number 가 나오고 문자를 입력한 부분엔 string이 나온다
그럼 여기서 undefined를 입력한 부분은 undefined 라 나오는데 unll은 object로 나오게 된다
object는 참조 타입에 있는 객체이다. 하지만 원래 null은 데이터타입으로 원시타입에 있는 데이터타입 그냥 null일 뿐이다 하지만 typeof에서 object로 나타나는 이유는 null이 태생적으로 가지고 있는 버그 때문이다 그리고 이 버그는 수정을 할 수 없다 단지 버그정도로만 기억하면 된다
null은 null 데이터타입이다

두번째로 console.log(null == undefined);
console.log(null === undefined) 를 적용하면 등호 두개일땐 true 이고 세개일땐 false로 출력이 된다 등호 세개일땐 데이터타입 자체가 다르기 때문에 false로 출력된다

세번째로 부정문을 null과 undefined에 적용을 시켜볼 것이다 여기서 부정은 ! 를 의미한다
console.log(!true); 는 false가 출력되고
console.log(!false); 는 true가 출력된다
console.log(!null); 는 true로 반환이 된다
console.log(!!null); 처럼 부정을 다시 부정을 할 수 있다 즉 false로 출력된다 null로 출력이 될 것 같지만 반환했을 때 true로 출력이 됬기에 기준이 true가 된다
console.log(!undefined); 와 console.log(!!undefined) 도 null에 부정한것과 같은 결과가 나온다

연산자 (덧셈)와 결합을 하면 console.log(10 + null); 은 10이 출력이 된다 즉 null은 0으로 입력이 된다 console.log(10 + undefined);은 NaN 결과가 나온다 (Nat a Namber) 숫자가 아니다라는 걸 의미한다

profile
멋진사나이

0개의 댓글