Logo
search
menuicon
thubnail
숲 속
순서 풀이

js 퀴즈

아루루롱
9
추가된 문제 (20/ 20)
오답 허용
정답 표시
공개 퀴즈

문제 1

단답형

자바스크립트는 무슨 언어인가요?

  • 자바스크립트는 본래 브라우저를 제어하는 언어였으나, Node.js라는 새로운 실행환경과 구글 V8 엔진의 등장으로 자체 어플리케이션을 만들 수 있게 된 언어입니다. 또한 자바스크립트는 명령형, 함수형, 객체지향 프로그래밍이 모두 가능한 멀티 패러다임 언어입니다.

  • 1

힌트

명령형, 함수형, 객체지향 프로그래밍

문제 2

단답형

변수 선언, 초기화, 할당의 차이점에 대해 설명해주세요.

  • 변수 선언은 변수를 생성하는 것을 의미합니다. 해당 식별자를 등록하여 스코프가 참조할 대상을 만듭니다. 초기화는 메모리에 변수 저장을 위한 공간을 확보하는 단계입니다. 기본값으로 undefined가 할당됩니다. 할당은 = 연산자를 사용하여 값을 할당하는 단계로, undefined로 초기화된 변수에 실제 값을 할당해주는 단계입니다.

  • 1

힌트

변수를 생성, 메모리에 변수 저장, = 연산자, undefined

문제 3

단답형

데이터 타입에 대해 설명해주세요.

  • JavaScript의 타입은 원시값과 객체로 나뉩니다. 원시 값은 불변값을 의미하며, boolean, null, undefined, number, bigint, string, symbol 타입이 있습니다. 객체는 키와 값 사이의 매핑이며, 키는 문자열 또는 심볼입니다. 값은 어떤 것이든 가능합니다. 또한 함수는 호출이 가능하다는 점을 제외하면 일반적인

  • 1

힌트

원시값과 객체

문제 4

단답형

생성자에 대해 설명해주세요.

  • 생성자 함수란 new 연산자와 함께 호출하여 객체를 생성하는 함수를 의미합니다. 생성자 함수에 의해 생성된 객체를 인스턴스라 하며, 자바스크립트는 Object 외에도 다양한 타입의 빌트인 생성자 함수를 제공합니다. 생성자 함수는 일반 함수와 동일한 방법으로 정의하지만, 파스칼 케이스를 사용하는 관례를 따릅니다.

  • 1

힌트

new 연산자

문제 5

단답형

this에 대해 설명해주세요.

  • this 키워드는 자신이 속한 객체를 가리키는 식별자를 참조할 수 있는 키워드입니다. this는 함수가 호출되는 방식에 따라 달라집니다. 일반 함수 호출을 사용할 경우 기본적으로 전역 객체가 바인딩됩니다. 메서드 호출을 할 경우, 마침표 연산자 앞에 기술한 객체가 바인딩됩니다. 생성자 함수 호출을 할 경우, 미래에 생성할 인스턴스가 바인딩됩니다. 화살표

  • 1

힌트

일반 함수 호출, 메서드 호출, 생성자 함수, 화살표 함수, 전역, 마침표 연산자, 미래, 상위 스코프

문제 6

단답형

call, apply, bind에 대해 설명해주세요.

  • 이 세가지 메서드는 강제로 this를 바꿉니다. call과 apply는 함수를 호출하는 함수입니다. 그러나 첫번째 인자에 this로 만들고 싶은 객체를 넘겨주어, this를 바꾸고 나서 실행합니다. 이 두 함수의 차이점은 parameter를 전달하는 방식밖에 없습니다. bind는 함수를 실행하지 않고, this를 바꾸고 난 뒤의 함수인bound 함수를

  • 1

힌트

this, bound, parameter

문제 7

단답형

콜백 함수에 대해 설명해주세요.

  • 콜백 함수는 다른 함수의 인자로 넘겨지는 함수를 의미합니다. 콜백 함수는 비동기 프로그래밍에 자주 사용되며, 자바스크립트에서 이벤트 정의를 위해 사용되기도 합니다.

  • 1

힌트

비동기, 이벤트 정의

문제 8

단답형

콜백 지옥을 해결하는 방법을 설명해주세요.

  • 콜백 지옥은 비동기 처리 로직을 위해 콜백 함수를 연속으로 중첩하여 사용할 때 발생하는 문제입니다. 일반적으로 콜백 지옥을 해결하는 방법에는 Promise나 Async가 있습니다. Promise는 비동기 연산이 종료된 이후에 결과를 알기 위해 사용하는 객체입니다. Promise의 .then을 사용하여 함수 실행 순서를 정할 수 있습니다. ES8에 도

  • 1

힌트

Promise, Async, 비동기 연산

문제 9

단답형

Promise에 대해 설명해주세요.

  • Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다. Promise는 비동기 연산이 종료된 이후에 결과 값과 실패 사유를 처리하기 위한 처리기를 연결할 수 있습니다. 다만, 최종 결과를 반환하는 것이 아니고, 미래에 어떤 시점에 결과를 제공하겠다는 약속(Promise)을 반환합니다.

  • 1

문제 10

단답형

Promise와 Callback를 비교 설명해주세요.

  • Callback을 사용하면 비동기 로직의 결과값을 처리하기 위해 Callback 안에서만 처리할 수 있고, 밖에서는 그 결과값을 알 수 없습니다. 하지만 Promise를 사용하면 비동기 로직의 결과값이 Promise 객체에 저장되기 때문에 코드 작성이 용이합니다.

  • 1

문제 11

단답형

Promise와 Async, Await의 차이를 설명해주세요.

  • Promise는 .catch()를 통해 에러 핸들링이 가능하지만, async/await은 try-catch()문을 사용해야 합니다. 또한 Promise도 .then() 지옥이 발생할 수 있기 때문에 코드가 길어질 수록 async/await을 활용한 코드가 코드 흐름을 이해하기 쉽습니다.

  • 1

문제 12

단답형

AJAX에 대해 설명해주세요.

  • AJAX란 서버와 통신하기 위해 XMLHttpRequest객체를 사용하는 것을 말하며, 가장 강력한 특징은 페이지 전체를 새로고침하지 않고서도 수행되는 비동기성입니다. .onreadystatechange를 이용하여 서버 응답에 따른 로직을 작성할 수 있고, .open()과 .send()를 이용하여 서버로 요청을 보낼 수 있습니다.

  • 1

문제 13

단답형

var, let, const 차이를 설명해주세요.

  • var는 let, const와 달리 블록 스코프가 존재하지 않습니다. 함수 스코프이거나 전역 스코프입니다. 따라서 함수가 아닌 블록 안에서 var 변수를 정의하면 해당 블록 밖에서도 이 변수에 접근할 수 있습니다. 또한 var는 중복선언이 가능합니다. 하지만 두번째 선언은 무시되며, 에러는 발생하지 않습니다. 반대로 let, const는 중복선언이 불가

  • 1

문제 14

단답형

TDZ에 대해 설명해주세요.

  • ES6의 let과 const는 변수를 블록의 상단으로 호이스팅하지만 초기화하지는 않습니다. 변수가 선언되기 전에 블록 안에서 사용할 수 없는데, 이 위치를 시간상 사각지대(Temporal Dead Zone, TDZ)라고 표현합니다. 즉, 변수 스코프의 맨 위에서 변수 초기화 전까지의 영역을 의미합니다. 이 TDZ에 영향을 받는 구문으로는 let, co

  • 1

문제 15

단답형

함수 선언문과 함수 표현식의 차이에 대해 설명해주세요.

  • 함수 선언문은 function add(x, y) {}의 형태로 쓰여지며, 완료시 undefined가 출력됩니다. 이때, 함수 이름을 생략할 수 없습니다. 함수 표현식은 const add = function(x,y) {}의 형태로 쓸 수 있으며, 함수 리터럴의 함수 이름을 생략할 수 있습니다. 또한 함수 표현식으로 함수를 정의하면 변수 호이스팅이 발생하기

  • 1

힌트

const, function, undefined, 호이스팅

문제 16

단답형

이벤트 버블링과 캡처링에 대해 설명해주세요.

  • 이벤트 흐름은 캡처링 단계, 타깃 단계, 버블링 단계로 나누어집니다. 이벤트 캡처링은 최상위 조상에서 시작해 해당 요소까지 이벤트가 전파되는 과정을 의미합니다. 이 단계에서 이벤트를 잡아내려면 addEventListener의 capture 옵션을 true로 설정해야 합니다. 캡처링 단계 이후, 버블링이 발생합니다. 이벤트 버블링은 가장 최상단의 조상

  • 1

문제 17

단답형

이벤트 위임에 대해서 설명해주세요.

  • 이벤트 위임은 비슷한 방식으로 여러 요소를 다뤄야 할 때 사용합니다. 이벤트 위임을 사용하면 요소마다 핸들러를 할당하지 않고, 요소의 공통 조상에 이벤트 핸들러를 단 하나만 할당해도 여러 요소를 한꺼번에 다룰 수 있습니다. 이벤트 위임을 사용하려면 이벤트가 반드시 버블링되어야 합니다. 이벤트가 발생한 요소를 특정하기 위해 event.target을 사용할

  • 1

문제 18

단답형

이벤트 위임의 동작 방식에 대해서 설명해주세요.

  • 우선 컨테이너에 하나의 이벤트 핸들러를 추가합니다. 그 후 컨테이너 내의 요소에서 이벤트가 발생하면 해당 이벤트는 이벤트 버블링 단계를 통해 부모요소로 전파됩니다. 만약 이벤트 핸들러가 추가된 컨테이너까지 이벤트가 전파되면 event.target을 사용해 이벤트가 발생한 요소가 어디인지 알아내고, 원하는 요소에서 이벤트가 발생했다면 이벤트를 핸들링합니다

  • 1

문제 19

단답형

호이스팅과 발생하는 이유에 대해 설명해주세요.

  • 호이스팅이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미합니다. var로 선언한 변수의 경우 호이스팅시 ndefined로 변수를 초기화하지만, let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않습니다. 이와 비슷한 동작으로 함수 선언은 그 선언을 둘러싼 함수의 최상부나 전역 범위로 끌어올려집니다.

  • 1

문제 20

단답형

스코프 (Scope)에 대해 설명해주세요.

  • 스코프는 식별자의 유효범위입니다. 식별자는 자신이 어디에서 선언됐는지에 의해 다른 코드가 자신을 참조할 수 있는 범위를 갖습니다. var은 가장 가까운 함수를 스코프로 갖는 반면 let과 const는 가장 가까운 블록을 유효 범위로 갖습니다.

  • 1

구글 클래스룸 공유