==
와 ===
의 차이점은 무엇인가요?==
는 추상 동등 연산자이고 ===
는 완전 동등 연산자입니다. ==
연산자는 타입 변환이 필요한 경우 타입 변환을 한 후에 동등한지 비교===
연산자는 타입 변환을 하지 않으므로 두 값이 같은 타입이 아닌 경우 ===
는 false를 반환1 == '1'; // true
1 == [1]; // true
1 == true; // true
0 == ''; // true
0 == '0'; // true
0 == false; // true
"Ternary"는 "삼항"을 나타내고 삼항 표현식은 세가지 피연산자, 테스트 조건문, "then"표현식, "else"표현식을 받습니다
"use strict";
이 무엇인가요? 사용시 장단점이 무엇인가요?'use strict'는 전체 스크립트나 개별 함수에 엄격 모드를 사용하는데 사용되는 명령문
Strict 모드는 JavaScript 다양한 자바스크립트를 제한하는 방법
throw
하지 못하는 할당을 만듭니다.this
는 전역 컨텍스트에서undefined
입니다.function.caller
와 function.arguments
에 더 이상 접근할 수 없습니다.3
의 배수에는 fizz
를 출력하고, 5
의 배수에는 buzz
를 출력하고, 3
과 5
의 배수에는 fizzbuzz
를 출력하는 for loop를 만드세요.for (let i = 1; i <= 100; i++) {
let f = i % 3 == 0,
b = i % 5 == 0;
console.log(f ? (b ? 'FizzBuzz' : 'Fizz') : b ? 'Buzz' : i);
}
모든 스크립트는 전역 스코프에 접근할 수 있으며, 모든 사람이 전역 네임스페이스를 사용하여 변수를 정의하면 충돌이 발생할 수 있습니다.
모듈 패턴 (IIFEs)을 사용하여 변수를 로컬 네임스페이스 내에 캡슐화하세요.
load
이벤트와 같은 것을 사용하나요? 이 이벤트에는 단점이 있나요? 다른 대안을 알고 있나요? 알고 있다면 왜 그것을 사용할 건가요?웹 페이지에서 자바스크립트를 사용할 때, 이미지, 비디오, 스크립트 파일, 폰트 등과 같은 외부 리소스를 로드해야 할 때가 있다. 이러한 리소스가 로드되기 전에 스크립트가 실행될 경우, 오류가 발생할 수 있다. 따라서 이러한 리소스가 로드될 때까지 기다리는 방법이 필요합니다. 이를 위해 load
이벤트를 사용합니다.
load
이벤트가 발생하려면 모든 리소스가 로드되어야 하기 때문에, 웹 페이지가 느려질 수 있다.
페이지가 완전히 로드되기 전에 사용자가 상호작용하려는 경우 사용자 경험이 저하될 수 있다.
DOM 이벤트 DOMContentLoaded
는 페이지의 DOM이 생성된 후에 발생하지만 다른 리소스가 로딩되기를 기다리지 않는다. 이것은 초기화되기 전에 전체 페이지가 로드될 필요가 없는 경우에 선호된다.
그러나 이 이벤트를 사용하면 모든 리소스가 로드되기 전에 자바스크립트 코드가 실행되기 때문에, 이벤트 핸들러에서 로드되지 않은 리소스를 사용하면 오류가 발생할 수 있습니다.
Single page application (SPA)은 전체 페이지를 다시 로드하지 않고, 웹 페이지의 일부분만을 업데이트하여 사용자 경험을 개선하는 웹 애플리케이션
SEO-friendly란 검색 엔진 최적화(search engine optimization, SEO)를 고려하여 웹 페이지를 디자인하고 개발하는 것
사이트맵 생성 : 검색 엔진에서는 웹 페이지의 내용을 크롤링하여 인덱싱합니다. SPA에서는 페이지가 동적으로 생성되기 때문에 검색 엔진이 해당 페이지를 크롤링하는 것이 어려울 수 있습니다. 이 문제를 해결하기 위해, 사이트맵을 만들어 검색 엔진이 페이지를 크롤링할 수 있도록 해야 합니다.
Pre-rendering : SPA에서는 페이지가 동적으로 생성됩니다. 이는 일부 검색 엔진에서 문제를 일으킬 수 있습니다. 이 문제를 해결하기 위해, SPA의 초기 페이지 렌더링을 pre-rendering 하여 검색 엔진이 이를 인덱싱할 수 있도록 해야합니다.
올바른 Meta 태그 : Meta 태그는 웹 페이지의 정보를 설명하는 데 사용됩니다. SPA에서도 Meta 태그를 사용하여 검색 엔진이 페이지의 정보를 이해할 수 있도록 해야합니다.
URL 설정 : SPA에서는 URL이 동적으로 변경될 수 있습니다. 이를 해결하기 위해, URL을 변경할 때마다 history API를 사용하여 브라우저의 URL을 업데이트해야 합니다. 이렇게 하면 검색 엔진이 URL을 인식할 수 있습니다.
JSON-LD 마크업 : 검색 엔진에서는 JSON-LD 마크업을 사용하여 웹 페이지의 정보를 인식할 수 있습니다. SPA에서도 JSON-LD 마크업을 사용하여 페이지의 정보를 검색 엔진이 인식할 수 있도록 해야합니다.
서버 사이드 렌더링 : SPA에서는 클라이언트에서 모든 작업을 수행합니다. 이에 대해, 검색 엔진은 페이지를 검색할 때 JavaScript를 실행하지 않기 때문에 페이지가 인덱싱되지 않을 수 있습니다. 이를 해결하기 위해, 서버 사이드 렌더링을 사용하여 SPA의 초기 페이지 렌더링을 서버에서 수행할 수 있도록 해야합니다.
"use strict";
이 무엇인지 설명하고 장단점을 설명해주세요
same-origin 정책에 대해 설명해주세요
single page app이 무엇인지 설명하고 SEO-friendly하게 만드는 방법을 설명하세요
load
이벤트를 사용하는 이유와 단점을 설명하고 대안책이 있다면 설명해주세요
대안책에 대한 단점은 무엇인가요