scrollY
와pageYOffset
의 차이는 무엇인가?:
scrollY
가 더 나중에 추가되었을 뿐 두 메서드의 기능은 동일
: 브라우저의 호환성을 고려하여pageYOffset
을 사용하는 것이 바람직함
scroll
과scrollTo
의 차이는 무엇인가?:
scrollTo
이 더 나중에 추가되었을 뿐 두 메서드의 기능은 동일
: 브라우저의 호환성 여부도 동일하기 때문에 어떤 것을 쓰든 상관없음
scroll
,scrollTo
로 스크롤을 강제 이동시키는 경우, 부드러운 스크롤 이동을 위해 어떻게 해야 하는가?: 매개변수로 객체 형태를 전달할 수 있음, 객체의 프로퍼티 중
behavior
의 값을smooth
로 설정하면 부드러운 스크롤 이동이 가능
scroll
이벤트를 감지해야 하는 경우 보편적으로throttle
과debounce
중 무엇을 사용해야 하는가?: 스크롤이 끝나고 한 번만 이벤트를 발생시키면 되기 때문에
debounce
를 사용하는 것이 바람직함
- 정보 은닉을 위해 즉시 실행 함수와 클래스를 사용하는 경우 각각 어떤 상황에서 사용하는 것이 바람직한가?
: 즉시 실행 함수는 한 번만 호출하고 이후에 호출하지 않는 경우에 사용
: 클래스는 로직의 재사용을 고려하는 경우에 사용
- 어떤 상황에서 상위 요소에 이벤트를 위임하지 않을 수 있는가?
: 이벤트의 타깃인 하위 요소가 정적 요소라 추가될 가능성이 없고, 그 수가 적은 경우에 위임을 굳이 하지 않아도 됨
- 정규 표현식으로 특수 문자와 공백을 어떻게 제거할 수 있는가?
:
replace
메서드를 사용하여/[^A-Za-z0-9ㄱ-ㅎㅏ-ㅣ가-힣]/g
에 해당하는 문자열을 빈 문자열로 교체
- 문자열을 거꾸로 뒤집어도 원래 문자열과 일치하는지 여부, Palindrome은 어떻게 판단할 수 있는가?
:
split
,reverse
,join
을 체이닝하여 문자열을 거꾸로 뒤집은 값을 원래 문자열과 비교
submit
이벤트가 발생할 때 자동으로 발생하는 새로고침을 어떻게 방지할 수 있는가?: 이벤트 객체의
preventDefault
메서드 사용
input
요소의value
값이 빈 문자열인지 어떻게 판단할 수 있는가?:
trim
메서드 사용하여 빈 문자열 판단, 동시에 앞뒤의 공백도 제거할 수 있음