자바스크립트 3-1

정유영·2022년 1월 21일
0

Js 입문기

목록 보기
4/11

prompt, typeof

typeof는 뒤에 오는 value의 타입이 무엇인지 알려주는 것이다.
예를 들어서 age = prompt라는 변수를 선언하면
인터넷 사용자는 홈페이지에 접근하면 prompt창에
숫자를 입력하게 된다. 그렇게 입력받은 숫자의 결과가 어떤 타입인지
확인하는 방법은 typeof age로 간단히 확인가능하다.
아마 string이라는 결과를 얻게 될 것이다 (string = 문자열)


타입을 변경하는 법

prompt같은 경우에는 문자열만 내보내기 때문이다.
만약에 숫자열을 배출 시키고 싶다면 어떻게 해야할까?

함수 : parseInt()를 이용하면 간단히 문자열로 배출시킬 수가 있다.
그렇다면 이 함수로 prompt 자체를 감싸는건 어떨까?
ex)
const age = parseInt(prompt("당신의 나이는 얼마인가요?");
이렇게 parselent 함수안에 prompt를 집어넣으면 결과는 어떻게 될까?

함수는 안에 있는 것부터 처리하는게 기본이다.
그렇다면 prompt가 숫자를 전달받으면 예를 들면 28을 입력했다고 하자

그럼 결과로 "28"으로 배출될 것 여전히 문자열
그런데 이 Prompt는 알다시피 parseInt로 둘러쌓여있다
배출된 "28"은 parseInt의 영향을 받아서
"28" -> 28 string에서 number로 바뀌어서 age에 자동 할당되게 된다.

이제 모든 prompt에 입력되는 숫자는 문자열이 아닌 number로 변환되서 나올것이다. 물론 말그대로 숫자가 아닌 문자열이 들어가면 계산할 수 없음의 표시인 NaN이 나올 것

isNaN 은 무언가가 NaN인지 판별하는 방법
const age= parseInt(prompt (“How old are you?”));
console.log(isNaN(age));

숫자입력하면 false
글자입력하면 ture

if문


if(condition){
실행코드=true ---실행
실행코드=false ----다음 else 값 실행
} else{

}
condition은 boolean으로 판별가능해야 한다, (true , false)

if(isNaN(age)){
console.log(“please wirte a number”);
} else{
console.log(“Thank you for writing your age”);
}

and, or

AND = &&
OR = ||

And 와 Or 연산자

and: && 로 표현한다.
a && b에서 양쪽 값 중 하나라도 false 이면 false값으로,
둘 다 true를 충족시켜야 true값이 된다.

or: ||(Shift + enter키 위에 있는 (원)사인)로 표현
a || b 의 경우 둘 중 하나라도 true값인 경우 결과 값은 true가 된다.
둘 다 false 일 때만 결과값 false

빨간박스 코드를 아래로 옮기고 prompt에 28을 입력하면 "성인입니다." 라고 나온다.
javascript는 위에서 아래로 읽기때문에 코드 순서도 중요하다.

빨간박스 코드에 "==="는 값이 같은지 확인도 해주지만, 유형도 비교해주어 되도록 ===만 사용하는게 좋다.

profile
안녕하세요.

0개의 댓글