404 page not found : 기록장

[Javascript] alert, prompt, confirm을 이용한 상호작용 본문

JAVASCRIPT

[Javascript] alert, prompt, confirm을 이용한 상호작용

Hannah_J 2023. 3. 14. 12:48

alert, prompt, confirm을 이용한 상호작용

웹 개발에서 사용자와의 상호작용은 매우 중요합니다. 이번 글에서는 자바스크립트의 alert, prompt, confirm을 이용한 상호작용에 대해 알아보겠습니다.

alert

alert는 가장 간단한 상호작용 방법 중 하나입니다. alert를 사용하면 사용자에게 메시지를 보여줄 수 있습니다. 예를 들어:

alert('안녕하세요!');

위 코드를 실행하면, 사용자에게 안녕하세요!라는 메시지가 나타납니다.

prompt

prompt는 사용자로부터 입력을 받을 수 있는 상호작용 방법입니다. prompt를 사용하면 사용자에게 질문을 하고, 사용자가 텍스트를 입력할 수 있는 입력창을 제공합니다. 예를 들어:

let name = prompt('이름을 입력하세요.');
alert(`안녕하세요, ${name}님!`);

위 코드를 실행하면, 사용자에게 이름을 입력하라는 메시지가 나타나고, 사용자가 이름을 입력하면 안녕하세요, {사용자 입력 이름}님!이라는 메시지가 나타납니다.

confirm

confirm은 사용자가 확인 또는 취소 중 하나를 선택할 수 있는 상호작용 방법입니다. confirm를 사용하면 사용자의 의사를 파악할 수 있습니다. 예를 들어:

let result = confirm('정말로 삭제하시겠습니까?');
if (result) {
  alert('삭제되었습니다.');
} else {
  alert('취소되었습니다.');
}

위 코드를 실행하면, 사용자에게 삭제 여부를 묻는 메시지가 나타나고, 사용자가 확인을 선택하면 삭제되었습니다.라는 메시지가, 취소를 선택하면 취소되었습니다.라는 메시지가 나타납니다.

이처럼 alert, prompt, confirm을 이용하면 사용자와의 상호작용을 쉽게 구현할 수 있습니다.

하지만 이 방법들에 대한 오해도 많습니다. 예를 들어 prompt를 이용하면 입력창이 뜨고 사용자가 입력할 때까지 코드가 일시정지되는데, 이는 사용자 경험을 저해할 수 있습니다. 또한 alert, prompt, confirm은 UI를 변경할 수 없기 때문에 디자인적으로 제한적이며, 대안이 필요한 경우가 많습니다.

따라서 이러한 방법들은 사용자의 입력값에 따라 조건문을 사용하여 처리하는 경우가 많습니다. 예를 들어 사용자의 입력값에 따라 다른 처리를 해야하는 경우에는 prompt 대신에 form을 이용하여 사용자 입력값을 받는 것이 더욱 바람직합니다.

또한 confirm의 경우에는 최근 웹 트렌드에서는 모달 대화상자를 이용하거나, 체크박스 등을 이용하여 더욱 직관적인 UI/UX를 제공하는 것이 일반적입니다.

이러한 방법들을 이용하면 사용자와의 상호작용을 보다 직관적이고 효율적으로 구현할 수 있습니다.

alert, prompt, confirm의 활용 예시

  1. 사용자가 회원가입을 할 때, 필수 입력 항목을 모두 입력했는지 확인하는 메시지를 alert로 구현합니다.
  2. 사용자가 댓글을 삭제할 때, 정말로 삭제할 것인지 묻는 메시지를 confirm으로 구현합니다.
  3. 사용자가 상품을 구매할 때, 수량과 가격을 입력하는 입력창을 prompt로 구현합니다.

alert, prompt, confirm의 대안

  1. alert: 모달 대화상자를 이용하여 사용자에게 메시지를 보여줍니다.
  2. prompt: form을 이용하여 사용자 입력값을 받습니다.
  3. confirm: 체크박스 등을 이용하여 사용자의 의사를 파악합니다.

이러한 대안들은 사용자 경험을 향상시키면서도 alert, prompt, confirm의 단점을 보완할 수 있습니다.

'JAVASCRIPT' 카테고리의 다른 글

[Javascript] 기본 연산자와 수학  (0) 2023.03.16
[Javascript] 형 변환  (0) 2023.03.15
[Javascript] 자료형  (0) 2023.03.13
[Javascript] Prototype  (0) 2023.03.10
Callback Hell  (0) 2023.03.07