[바닐라 JS로 크롬 앱 만들기] # 2.13 Conditionals part One

Gata·2023년 11월 14일

함수 prompt

  • 함수 prompt();는 사용자에게 창을 띄워 값을 받는다.
  • prompt을 사용하면 사용자가 답하기 전까지 자바스크립트 코드의 실행을 멈춘다. 꼭 답할 필요는 없고, 답하지 않으면 console.log는 null을 결과값으로 보여준다. 이는 매우 오래된 방법이고 더이상 prompt을 사용하지 않는 이유이기도 하다.

  • prompt을 사용하지 않는 또다른 이유는 message 스타일이 전혀 이쁘지 않고, css도 적용시킬 수 없고 어떤 브라우저는 이런 팝업을 제한하기도 한다.
  • 현재는 html과 css로 나만의 스타일을 멋있게 적용시켜 사용한다. 그에 비해 prompt는 매우 직관적이고 간단하게 쓸 수 있다.

typeof

console.log(typeof 변수이름);
  • typeof라는 키워드를 쓰면 variable의 type을 볼 수 있다.
const age = prompt("How old are you?"); //16

console.log(typeof age); //string

prompt의 값에 숫자를 입력해도 typeof를 해보면 string이라고 뜬다. string이 디폴트이기 때문이다.

숫자를 입력해도 typeof가 string이기 때문에 data type을 바꾸는 작업을 해야한다.

parseInt

  • string을 number로 변환할 때는 parseInt를 쓰면 된다.

예를들어 "15"(string)을 15(number)로 바꿔보자.

const age = prompt("How old are you?");

console.log(typeof "15", typeof parseInt("15")); // string number
console.log(age, parseInt(age)); // 15 15

const age = parseInt(prompt("How old are you?")); //15
//⬇️
const age = parseInt("15");
//⬇️
const age = 15;

const.log(age); //15 <- number

NaN

숫자가 아닌 값이 입력되면 변환이 안된다.
NaN (Not a Number)이 뜬다.

'안뇽'과 같이 문자를 입력하고 number로 바꾸려고 하면 결과값은 NaN이 된다.


const age = parseInt(prompt("How old are you?")); 
//⬇️
const age = parseInt("안뇽");
//⬇️
const.log(age); //NaN
profile
개발은 즐거워🪇

0개의 댓글