안녕하세요 워누입니다😀

오늘은 자바스크립트를 입문하시는 분들이라면 꼭 알아야 할 상식 중 하나인

var 키워드와 let 키워드의 차이점에 대해서 포스팅해보고자 합니다. 

해당 내용은 가장 기본적이기에 자바스크립트 개발자(신입)로 입사지원 시 기술면접에서 물어보기도 하니,

필요하신 분들에게 도움이 되기를 바라며 글을 시작해보겠습니다!🤗🤗🤗

 

** 차이점만 간략하게 알고 싶으신 분들은 스크롤을 아래로 내려 표만 보셔도 됩니다(☞゚ヮ゚)☞ **

 

var 키워드, let 키워드 모두 아래처럼 변수 선언 시 사용한다는 것은 아실 거라 믿습니다!

 

var num1 = 12;

let num2 = 34;

 

두 키워드가 차이가 없다면 굳이 var, let을 구분하지 않았겠죠?

차이점을 알기 위해서 정확하게 알아두어야 할 개념이 두개 정도 있으니 함께 보면서 알아봅시다! 

 

1. 스코프(유효 범위)

 

특정 변수를 사용할 수 있는 유효 범위를 '스코프'라고 합니다.

흔히 조건문, 반복문, 대괄호 등으로 만들어 지는데요, 아래 간단한 예시로 보여드릴게요!

 

// 전역 스코프

{
    // 스코프 A
    
    {
        // 스코프 A-1
    }
}

{
    // 스코프 B
}

위 예시에서 대괄호로 감싼 부분이 하나의 유효 스코프입니다!

추가로 전역 스코프는 "가장 외곽에 있는 코드를 입력할 수 있는, 전체가 유효한 범위"라는 개념이고 이러한 전역 스코프를 포함해서 스코프의 갯수는 총 4개임을 알수 있습니다..!

 

이 개념을 잘 숙지하시고 아래 예시를 봐주세요!

(다른 html 코드는 생략하고 script 부분만 보여드릴게요!)

<script>

    {
        // 스코프 A
        var num = 12;
    }
    {
        // 스코프 B
        alert(num);
    }

    // 전역 스코프
    alert(num);
	
</script>

var 키워드로 스코프 A에서 선언 후 스코프 B와 전역 스코프에서 alert으로 출력 시

두 명령어 모두 정상적으로 실행되어 아래 이미지가 두번 출력됨을 알 수 있을 것입니다.

즉, var 키워드로 선언한 변수는 다른 스코프에서도 사용할 수 있다는 이야기가 되죠..!

그럼 이번엔 var 키워드를 let 키워드로 바꿔볼까요?

<script>

    {
        // 스코프 A
        let num = 12;
    }
    {
        // 스코프 B
        alert(num);
    }

    // 전역 스코프
    alert(num);
	
</script>

실행하면 정상적으로 alert이 뜨지 않을 건데요,

VS Code에서 실행하여 디버그 콘솔 창을 확인하거나

브라우저 실행 시 개발자 도구 등을 통해 아래와 같은 오류 메세지가 출력됨을 확인할 수 있습니다!

 

VS Code 디버그 콘솔에서 확인한 오류 메세지
크롬 개발자 도구를 통해 확인한 오류 메세지

위 오류 메세지의 뜻은 num이라는 변수명이 정의되지 않았다는 의미인데요, 

이렇게 두가지 테스트를 통해 var 키워드와 let 키워드의 차이점을 확인했으니 한번 정리해보죠!

 

var 키워드 : 전역 스코프 위치에 변수를 선언하는 키워드

let 키워드 : 특정 스코프 내부에서만 유효한 변수를 선언하는 키워드

 

스코프 범위에 따라 구분을 해보았는데요,

이로 인해 let 키워드는 특정 스코프 내부에서만 변수를 사용 후 스코프를 벗어나면 영향을 끼치지 않아 메모리 등 시스템 자원을 적절하게 이용할 수 있는 반면 var 키워드는 그렇지 못하다는 단점이 있습니다🤔

 

위에서 설명드린 var 키워드의 특성을 제대로 이해하지 못하고 사용한다면 다양한 실수를 유발하기도 하는데요,

비동기 함수에서의 문제가 조금 대표적이기 때문에 잠깐 소개해드리도록 할게요!

 

<script>
	
    for(var i=0; i<3; i++){
        setTimeout(() => {
            alert(i);
        }, 1000*i);
    }
    
</script>

위 함수의 실행 결과를 한번 예측해봅시다. 

setTimeOut() 함수는 첫 번째 매개변수에 넣은 코드(함수)를 두 번째 매개변수에 넣은 시간 이후에 실행하게 만드는 함수인데요, 이 코드를 실행하면 0초 후 '0', 1초 후 '1', 2초 후 '2'를 출력할 거라 예상하실 거에요!

 

하지만 실제로 실행을 해보면...

...?

1초 간격을 두고 '3'을 3번 출력하게 되는데요,

1초 후에 i를 출력할 때 i는 이미 반복문을 수행 후 전역 스코프에 '3'으로 저장되었기 때문에 '3'만 3번 출력한 것입니다. 

 

let 키워드를 사용하지 않으면서 위 현상을 방지하기 위해서는 아래와 같이 코드를 수정해서 사용하여야 했습니다. 

 

<script>
	
    for(var i=0; i<3; i++){
        ((i) => {
            setTimeout(() => {
                alert(i);
            }, 1000*i);
        })(i);
    }

</script>

딱 봐도 복잡해보이죠?

함수로 한번 감싸놓고 사용할 변수를 전달하는 방식이다 보니 코드가 지저분해진 것을 볼 수 있어요...😮

 

그래도 실행해보면 아래와 같이 출력은 정상적으로 진행됩니다. 

 

하지만 이것을 let으로 바꾸면...!

<script>
	
    for(let i=0; i<3; i++){
        setTimeout(() => {
            alert(i);
        }, 1000*i);
    }
    
</script>

복잡하지도 않고 실행결과는 처음 예상한 것처럼 0, 1, 2를 순서대로 출력되는 것을 볼 수 있어요!

이런 식으로 var 키워드의 단점을 let 키워드로 보완할 수 있답니다!

 

2. 재선언

재선언이란 같은 이름으로 변수 또는 상수를 다시 선언하는 것을 말하는데요, 

var 키워드는 재선언을 허용하는 반면 let 키워드는 재선언을 허용하지 않습니다. 

 

VS Code를 통해 테스트한 결과를 바로 보여드릴게요!

 

 

var 키워드로 선언한 num1 변수는 재선언해도 문제 없이 넘어갔지만, num2는 재선언 시 이미 선언되었다는 뜻의 오류 메세지가 출력되었다는 것을 볼 수 있었습니다!

 

이렇게 보면 var 키워드 보다는 let 키워드를 쓰는게 좋겠다 생각이 드시겠지만, let 키워드는 ECMAScript 6에서 추가된 개념이기에 기존에 작성된 프로그램들은 대부분 var 키워드를 사용했을 것입니다!

또한 let 키워드는 인터넷 익스플로러에서는 지원하지 않기에 let 키워드를 사용하여 개발한 경우 인터넷 익스플로러에서는 정상적으로 동작하지 않는다는 특이사항이 있답니다.

(어차피 올해 하반기에는 익스플로러 이용 자체가 종료되어서 큰 의미를 두지 않아도 될것 같네요😐)

 

여기까지 두 키워드의 차이점을 알아보았습니다!

글이 너무 기니까 아래 표를 통해 한번 더 정리해보록 할게요:)

 

키워드 유효 범위 재선언 가능 여부
var 전역 스코프 가능
let 특정 스코프 내에서만 사용 불가능

 

사실 이 간단한 내용을 작성하기 위해 위에서 쓸데없이 설명이 길었던 것 같긴 하지만

확실하게 알아두면 좋을 것 같아 정리해보았습니다!

 

자바스크립트 개발 입문자 분들에게 도움이 되길 바라며 여기서 글을 마무리하겠습니다:)

 

 

 

안녕하세요 워누입니다🙂

오늘은 누구나 알만한 자바스크립트의 대표적인 버그 2개에 대하여 포스팅해보고자 합니다! 

 

우선, 우리 모두가 알고있는 보편적인 지식을 짚고 넘어가보도록 하죠😮

 

1. null

아무것도 없는 빈 값을 의미하며,

예시로 변수 선언 후 초기화하지 않은 상태라고 보시면 됩니다!

✔추가로, 참/거짓 연산 시에 거짓으로 응답되는 데이터입니다😎

 

2. 세미콜론( ; )

보편적으로 모든 프로그래밍 언어에서 문장의 끝을 알리는 기호에요!

 

위의 내용은 처음 배울 때 다루는 내용들이지만 자바스크립트에서는 조금 더 신경써서 봐야하는데요,

이제부터 그 이유를 살펴보도록 하죠...!!!!!!

 

null 데이터 타입이 object...?

 

위에서 말한 것처럼 null은 아무것도 없다는 의미로 대부분 프로그래밍 언어에서는 데이터 타입을 null로 정의합니다.

간단한 예시를 들어보도록 할게요!

 

- PHP

<?php
echo gettype(null);
?>

 

결과는 당연히 NULL 로 출력됩니다.

- Java

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		String a = null;

		System.out.println(a);
		System.out.println(a.getClass().getName());
	}
}

 

a라는 변수에 null로 초기화했으니 값을 출력할 땐 당연히 null이 나오겠죠?

추가적으로, 자바에서 getClass().getName() 메소드를 활용하여 값의 유형을 가져오려고 하면

아래와 같이 NullPointerException이 발생합니다. 

파일명 : test.java

 

근데 자바스크립트에서는.......

null을 object(객체)로 인식합니다......ㄷㄷ

(크롬 개발자도구에서 바로 테스트 가능합니다)

 

이로 인해 아래와 같은 촌극이 벌어지기도 합니다...

이는 자바스크립트 엔진의 버그로 수정을 했어야 했지만 이미 배포가 어느정도 되어 개발이 완료된 다른 사이트에 영향을 줄 수 있어 수정을 하지 않았다고 하네요...🙄

 

*** 주의 ***

자바에서도 자바스크립트와 유사한 상황이 있어서 NULL==object 타입이다라는 오해가 많습니다.

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		String a = null;
		
		System.out.println(a);
		System.out.println("this is " + a);
		System.out.println(a.getClass().getName());

	}

}

위 소스코드를 실행했을 때 아래와 같은 결과를 얻을 수 있었는데요

 

자바에서 String을 단순히 문자열 저장하는 변수로 생각해서 NULL은 object 타입이다라고 생각하면 절대 안됩니다!!

String 자료형 자체가 클래스(참조) 타입으로 원시 타입인 int, char, float 등과 다른 형태입니다.

 

원시 타입은 애초에 null로 초기화가 불가능하고,

오로지 String, Integer 같은 참조 타입으로만 변수를 null로 초기화가 가능합니다.

즉, 자료형이 object 형태였던 것이고 이를 println() 메소드에서 null을 object 형태로 치환해준 것 뿐인거죠..!

(일반적으로 String 자료형을 이용하는 getName(), length(), toUpperCase() 같은 메소드를 적용할 수 없습니다.)

.

 

반면 PHP는 어떤지 한번 볼까요?

<?php
echo gettype(null);
echo '<br>';
echo 'this is ' . null;
?>

이게 정상이랍니다..!

 

샛길로 많이 샌 것 같지만 정리하자면 다음과 같습니다!

자바스크립트는 null 자체를 object로 인식하는 버그가 있고
이미 버그가 있는 버전으로 짜여진 프로그램들이 많아 수정이 어려울 것이다..!

 

세미콜론 생략으로 인한 버그

자바스크립트 개발자라면 모두가 아시는 것처럼 자바스크립트는 세미콜론 자동 삽입 기능이 있는데요..!

이로 인해 아래와 같은 상황이 발생하기도 합니다!

분명 json_test1() 함수와 json_test2() 함수는 중괄호 위치만 다르고 나머지 내용은 다 똑같습니다만

함수 호출 시 결과는 완전 딴판이죠?

전문적인 용어로 말씀드리면 json_test1() 함수는 K&R 방식으로,

json_test2() 함수는 BSD 방식으로 작성되어 있습니다!

(K&R, BSD 방식에 대한 자세한 내용은 아래 사이트를 참조해주세요✔)

https://namu.wiki/w/%EC%BD%94%EB%94%A9%20%EC%8A%A4%ED%83%80%EC%9D%BC

 

여튼 두 함수를 호출했으나 다른 결과가 발생한 이유는 return에 있습니다!

json_test2 () 함수가 BSD 방식으로 작성해버리면서 return과 중괄호 { } 사이에 줄바꿈이 발생했는데요,

이때 return에 세미콜론이 자동으로 붙어버리면서 자바스크립트가 'return;'으로 인식해버렸기 때문입니다.

이로 인해 아래 중괄호 { key : value }가 적용되지 않은 것이죠!

 

자바스크립트에서 'return;'은 'return undefined;'와 같아서

json_test2() 함수의 호출 결과는 undefined가 된 것을 확인하실 수 있겠네요..!

 

이렇게 오늘은 javascript의 대표적인 버그들에 대해서 포스팅을 해보았는데요, 

포스팅하면서 초기 설계 및 기획의 중요성과 문법 및 오타에 대한 경각심을 다시 한 번 뼈저리게 느끼게 된 것 같아요🥶

 

오늘 포스팅은 여기서 이만 마무리하도록 하겠습니다 ㅎㅎ

감사합니다😀

 

 

안녕하세요 워누입니다😀

 

오늘은 자바스크립트에서 배열이나 객체를 더욱 쉽게 다룰 수 있는 반복문인

for in 반복문과 for of 반복문에 대하여 포스팅해보고자 합니다.

 

자바(java)의 향상된 for문과 비슷한 내용이며 일전에 제가 포스팅한 적이 있으니 참고하시면 좋을 듯 합니다ㅎㅎ

https://seoneu.tistory.com/17

 

[JAVA] JAVA에서 향상된 For문 쓰기!

안녕하세요 블로거 워누입니다! 어느새 Tistory 블로그를 버려둔지 꽤 시간이 지나버렸네요..ㅎ . 하지만 어떤 계기로 인해 이 블로그를 다시 살리게 되었습니다! 공부한 내용들을 조금씩 올리는

seoneu.tistory.com

 

자바스크립트에서는 위에서 언급한 것처럼 for in, for of 두가지 방식으로 반복문을 제공하고 있는데요,

예시 코드를 보면서 어떻게 쓰는지 바로 보여드릴게요!

 

우선 일반적인 for문으로 구현된 반복문입니다!

(html의 <script> 부분만 작성했습니다.)

<script>

var array = ['포도', '바나나', '사과', '망고'];

for (var i=0; i<array.length; i++){
	alert(array[i]);
}

</script>

보시다시피 array 배열안에 있는 요소를 하나씩 출력하는 프로그램이며,

결과는 예상하실 수 있다시피 아래 이미지처럼 포도, 바나나, 사과, 망고 순으로 alert 창에 출력됩니다!

 

이를 for in 반복문으로 구현하면 다음과 같습니다. 

<script>

var array = ['포도', '바나나', '사과', '망고'];

for (var i in array) {
	alert(array[i]);
}

</script>

결과는 똑같이 나오면서도 쓰는 코드는 좀 더 간결해졌음을 알 수 있습니다!

 

마지막으로 ECMAScript 6에서 추가된 반복문 문법인 for of 반복문은 아래와 같이 구현할 수 있습니다!

<script>

for (var array of ['포도', '바나나', '사과', '망고']){
	alert(`${array}`);		
}

</script>

for in 반복문과 비슷하지만 반복 변수를 따로 선언하지 않고 배열의 요소들을 직접 입력해주는게 특징입니다!

추가로 for of 반복문은 배열 이외에도 문자열이나 맵(map) 등의 자료형에도 사용할 수 있다고 하네요..!

 

위 세개의 반복문을 잘 숙지하고 있다가 상황에 맞게 잘 사용하면 코드를 더 깔끔하게 작성할 수 있을 것 같습니다ㅎㅎ

오늘 포스팅한 내용도 누군가에게는 도움이 되었기를 바라며 이만 마무리하겠습니다!

 

 

 

안녕하세요 워누입니다😀

오늘은 자바스크립트의 조건문 중에서 짧은 조건문에 대해 포스팅을 작성해보고자 합니다! 

 

흔히 조건문이라 하면 잘 아는 if 조건문, switch 조건문 그리고 삼항 연산자를 이용한 조건문이 있는데요,

자바스크립트에서는 논리합(||), 논리곱(&&) 연산자를 사용하여 '짧은 조건문'이라는 것이 있다고 합니다! 

 

본래 논리합(||), 논리곱(&&) 연산자는 양 변의 표현식 혹은 불(boolean) 데이터를 이용해

참(true)/거짓(false)을 도출하는 연산자인것은 대부분 다 아시는 사실인데

이를 어떻게 조건문으로 사용하는지는 생소한 분들이 꽤 있을 것이라 생각하고 한번 알아보도록 하겠습니다...!

 

1. 논리합(||)

 

연산자를 기준으로 양 변중 하나라도 참이면 true 값을 반환하는 연산자입니다. 

우선 아래 표현식을 한번 함께 보실까요?


true || (임의의 표현식 또는 값)


위 식에서는 좌변이 참이라서 우변에 어떠한 표현식이나 값이 오든 항상 true 값을 반환합니다!

자바스크립트는 이렇게 참이나 거짓이 확실한 경우 추가 연산을 진행하지 않는데,

위와 같은 식에서는 좌변이 항상 참이므로 우변의 식을 실행하지 않습니다. 

.

이를 거꾸로 생각하면, 아래와 같이 좌변을 false 바꾸면

자바스크립트는 우변의 식을 실행하거나 값을 가져오게 되겠죠?


false || (임의의 표현식 또는 값)


위 표현식의 원리를 이용하여 아래와 같은 형태로 조건문을 사용한다는 개념입니다. 


(임의의 표현식(조건)) || (좌변의 표현식의 거짓인 경우 실행할 내용)


이렇게 되면 좌변의 표현식이 거짓이라면 우변이 실행될 것입니다!

 

...

 

2. 논리곱(&&)

 

연산자를 기준으로 두 변 모두 참이면 true 값을 반환하는 연산자입니다. 

반대로 말하면 양 변중 하나라도 거짓이면 무조건 false 값을 반환한다는 이야기가 됩니다!

 

위 논리합을 이용한 조건문에서 설명한 개념을 대입해서 아래 2개의 표현식을 함께 보시기 바랍니다. 


false && (임의의 표현식 또는 값)

true && (임의의 표현식 또는 값)


좌변이 false인 경우라면, 무조건 거짓이기 때문에 자바스크립트는 우변을 실행하지 않을 것입니다. 

다만, 좌변이 true인 경우라면 우변을 실행한다는 이야기가 됩니다. 

 

즉, 아래 형식처럼 사용할 수 있다는 이야기가 되겠죠?


(임의의 표현식(조건)) && (좌변의 표현식의 참인 경우 실행할 내용)


...

 

자, 이제 실제 예시를 살펴보도록 하겠습니다. 

숫자를 입력받아서 홀수인지 짝수인지를 구분하는 프로그램을 만든다는 가정하에

맨 처음에 언급했던 if, switch, 삼항 연산자과 더불어 오늘 포스팅한 '짧은 조건문'을 각각 사용한 후

짧은 조건문이 정말 짧은지 비교해보도록 하겠습니다. 

(html의 <script> 부분만 작성했습니다.)

 

1. if 조건문

<script>
var input = Number(prompt('숫자를 입력하세요.'));
	
if(input % 2 == 0){
	alert('짝수입니다.');
} 
if(input % 2 == 1){
	alert('홀수입니다');
} 
</script>

 

2. switch 조건문

<script>
var input = Number(prompt('숫자를 입력하세요'));
	
switch(input%2) {
    case 0:
        alert('짝수입니다.');
        break;
    case 1:
    	alert('홀수입니다.');
        break;
    default:
    	alert('숫자가 아닌것 같네요.');
        break;
}
</script>

 

3. 삼항연산자 조건문

<script>
var input = Number(prompt('숫자를 입력하세요'));
	
(input % 2 == 0) ? alert('짝수입니다.') : alert('홀수입니다.');
</script>

 

4. 짧은 조건문 

<script>
var input = Number(prompt('숫자를 입력하세요'));

input % 2 == 0 && alert('짝수입니다.');
input % 2 == 0 || alert('홀수입니다.');
</script>

 

위 4가지를 이렇게 단순 비교해보았더니 삼항연산자 조건문이 더 짧게 작성된 것 같네요🤣🤣🤣

 

사실 제가 회사에서 업무를 진행할 때도 짧은 조건문 형태로 쓰여진 코딩 스타일은 접하지 못했었는데요, 

나름의 이유가 있었네요 ㅎㅎ (삼항연산자 조건문을 애용하는 분들은 정말 잘 쓰시더라구요..ㄷㄷ)

 

그래도 최근에 javascript를 공부하기 시작하면서 알게된 신기한 조건문이라 정리해보았습니다!

그럼 이만!!

안녕하세요 워누입니다😀 

 

오늘은 자바스크립트 함수를 이용해 alert 창에서 문자열 입력받는 방법과

boolean 자료형 처리하는 방법을 가지고 포스팅해보고자 합니다! 

 

기초적인 내용이지만 종종 써먹을 때가 있으니 한 번씩 봐두시면 좋을 듯 합니다😁

 

1. prompt()

 

문자열 자료형을 입력할 때 사용하는 함수인데요,

기본적으로 아래와 같이 사용합니다!

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<script>
		// 문자열을 입력받습니다.
		var input = prompt();
		
		// 입력받은 문자열을 출력합니다. 
		alert(input);
	</script>
</head>
<body>

</body>
</html>

 

예시 html 파일을 브라우저에서 실행하면 아래 이미지와 같은 결과를 얻을 수 있어요!

 

저는 여기다가 "자바스크립트"라고 입력해보겠습니다!

alert(input) 함수에 의해 "자바스크립트"라는 문자열을 그대로 출력한 것을 볼수 있네요ㅎㅎ

 

하지만 뭔가 2%가 부족합니다..😐

사용자에게 입력을 요구할 때, 위 예시처럼 빈 페이지에 입력칸만 주면 무엇을 입력해야 하는지 알 수 있을까요?

 

원하는 값을 받기 위해서는 어떤 값을 요구하는지 알려줘야겠죠??

prompt() 함수는 두가지 매개변수를 아래와 같은 형식으로 사용이 가능합니다.

 

prompt('Message', 'Default');

 

형식만 보면 이해가 되지 않으시죠?

Message에는 사용자에게 요구할 메세지를 기입하시면 되고, 

Default에는 입력란에 미리 입력시켜놓을 데이터를 기입하시면 됩니다. 

 

예시를 같이 보시죠~

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<script>
		// 문자열을 입력받습니다.
		var input = prompt('본인의 이름을 입력하세요.', '홍길동');
		
		// 입력받은 문자열을 출력합니다. 
		alert(input);
	</script>
</head>
<body>

</body>
</html>

위 HTML 파일을 브라우저에서 실행하면 아래와 같이 결과를 얻을 수 있어요!

이번에는 그냥 확인 버튼을 클릭하면...

보시다시피, 입력란에 있는 값을 그대로 전달하기 때문에 '홍길동'이라는 이름을 그대로 출력했습니다!

.

여기서 만약, 확인 버튼이 아니라 취소 버튼을 누르면 어떻게 될까요?

결과는..

이렇게 나온답니다!

아무런 입력값이 없었기 때문에 null을 출력하게 되었습니다.

문자열 입력받아서 처리하는 방법은 생각보다 간단하네요😁😁😁

 

2. confirm()

 

boolean 자료형을 입력받을 때 사용하는 함수입니다!

prompt()와 비슷한 형식으로 사용하시면 되구요, 

우선 아래 예시 소스부터 볼까요?

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<script>
		// boolean 데이터를 입력받습니다.
		var input = confirm();
		
		// 입력받은 문자열을 출력합니다. 
		alert(input);
	</script>
</head>
<body>

</body>
</html>

prompt() 함수와 비슷하죠?

이렇게 html 코드를 만들고 브라우저에서 실행하면 아래 화면처럼 나올 것입니다. 

 

여기서 확인 버튼을 클릭하면 true를, 취소 버튼을 클릭하면 false를 응답합니다. 

(아래처럼 결과를 얻을 수 있어요!)

 

confirm 함수 또한 질문을 매개변수로 넣을 수 있습니다!

우리가 흔히 보는 메세지로 예시를 한번 보여 드릴게요 ㅎㅎ

 

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<script>
		// boolean 데이터를 입력받습니다.
		var input = confirm('약관에 동의하시겠습니까?');
		
		// 입력받은 문자열을 출력합니다. 
		alert(input);
	</script>
</head>
<body>

</body>
</html>

우리가 흔히 온라인 상에서 결제를 하거나 회원가입할 때 관련된 약관을 읽고 동의하여야만 다음 절차를 진행하는데요, 

가끔씩 alert 창으로 한번 더 확인하는 절차를 거칠 때 간단하게 사용할 수 있습니다 ㅎㅎ 

 

이외에도 '예/아니오' 같은 답을 필요로 하는 모든 요구사항에 대하여 confirm() 함수를 이용해 

간단하게 처리할 수 있습니다😁

 

이번 포스팅 내용도 도움이 되셨길 바라며 이만 마무리하겠습니다!

+ Recent posts