Undefined (미정의 변수)
접근 가능한 스코프에 변수가 선언되었으나 현재 아무런 값도 할당되지 않은 상태.
var test;
console.log(test); //undefined
console.log(typeof test); //undefined
타입이 정의되지 않았음을 알 수 있다.
=> 면접에서 undefined를 undeclared처럼 설명하고 ㅋㅋ
Undeclared (미선언 변수)
접근 가능한 스코프에 변수 선언조차 되어있지 않은 상태.
console.log(test2);
// 오류를 뱉어낸다.
/* Uncaught ReferenceError: test2 is not defined
at <anonymous>:1:13 */
// 이것의 타입을 살펴보면 undefined
console.log(typeof test2); //undefined
미선언변수 test2는 typeof 결과로는 "undefined"를 뱉는다.
실제로 typeof는 undeclared인 경우에도 undefined를 뱉어 브라우저가 오류 처리를 하지 않도록 한다.
함수 내에서 변수를 선언 할 때 var를 사용하면 해당 변수는 지역변수가 된다.
그러나 var를 사용하지 않은 변수는 선언한 위치에 상관없이 전역변수가 된다.
이를 유의해야한다.
=> undecleared는 모른다고 대답하고 ㅜㅜ
Null
변수를 선언하고 'null'이라는 빈 값을 할당한 경우이다.
var test3; //변수 선언.
test3 = null; //선언한 변수 test3에 null값 할당.
console.log(test3); //null
console.log(typeof test3); //변수 test3의 타입은 object 객체.
null이라는 빈 값을 할당하면 해당 변수의 타입은 객체가 된다.
결국, undefined와 null의 차이점은
undefined는 타입이 결정되지않은 변수이고,
null은 타입은 객체며, 비어있는 변수이다.
=> null을 undefined처럼 설명했음 ㅠㅠ
+
html doc?
html에서 doc이먼지 아냐고 물어 봤었는데 모른다고 답했는데..
검색해보니 이걸 물어보신듯 하다.
<!DOCTYPE html>
정의 및 특징
DOCTYPE 선언은 HTML 문서에서 <html> 태그를 정의하기 전에 가장 먼저 선언되어야만 합니다.
이러한 DOCTYPE 선언은 HTML 태그는 아니지만, 선언된 페이지의 HTML 버전이 무엇인지를 웹 브라우저에 알려주는 역할을 하는 선언문으로, 대소문자를 구분하지 않습니다.
=> 찾아보니 버전을 알려준다는 것을 배웠던 기억이 조금 떠올랐다..
음.. 이김에 확실하게 알고가면 좋지.. ㅎㅎㅎ
후기
이번에 로그프레소에서
여러가지 면접질문을 해주셨는데
해당 질문에 대해서 명확하지 않은데.. 너무 모른다라고 말하는거 같아서
일단 말했는데 거꾸로 대답하고 난리도 아니여서 이김에 정리해 봤음.
'자바스크립트 끄적끄적' 카테고리의 다른 글
자바스크립트 - 제네레이터 (0) | 2022.09.10 |
---|---|
경로 관련 문제가 나올 때: Error: Cannot find module 'wish' (0) | 2022.09.09 |
자바스크립트 프로토타입이란? (0) | 2022.08.31 |
SPA 기반 사이트 만들어 보기 with. 바닐라 자바스크립트 #2 (0) | 2022.08.29 |
SPA 기반 사이트 만들어 보기 with. 바닐라 자바스크립트 #1 (0) | 2022.08.28 |