String() →  문자형으로 변환

Number() → 숫자형으로 변환

Boolean()  →  불린형으로 변환 

→ 젤 첫자리는 무조건 대문자로 써줘야함.

-----------------------------------------------------------------------------------------------------------

const mathScore = prompt("수학 몇점?");    → 50 입력
const engScore = prompt("영어 몇점?");      → 50 입력
const result = (mathScore + engScore)/ 2;
console.log(result)            →   2525 가 나옴.

 

**왜 25가 아닌 2525가 나올까?? 

 prompt 로 입력한 값은 무조건 "문자형"으로 처리됨. 따라서 입력한 50은 '문자'로 받아들임.

즉, 50(문자)+ 50(문자) = 5050(그대로 이어줌) 

5050 / 2 = 2525    →    /(나누기) 같은 표현식은 5050(문자)처럼 숫자형이 아니더라도 숫자형으로 자동변환되어 계산됨. → 자동 형변환

의도를 가지고 원하는 형 변환 → 명시적 형변환 을 해주는게 좋음. 

 

-----------------------------------------------------------------------------------------------------------

1) 문자형 변환

 console.log(

  String(2),                       

  String(true),

  String(false),                    →   "2", "true", "false", "null", "undefined"  (문자열로 변환)

  String(null),

  String(undefined),

)

2) 숫자형 변환

console.log(

 Number("1234")            → 1234

)

console.log(

 Number("rkdle12")            → NaN   (문자열을 넣을 경우 NaN이 나오므로 주의)

)

console.log(

 Number(true),            → 1 

 Number(false)            → 0

)

*주의사항*

Number(null)   →0               *prompt에서 취소를 누르면 → null이 입력됨 →null을 숫자형으로 변환하면 0

Number(undefined)  → NaN

 

3)불린형 변환

false : console.log(
 Boolean(0),
 Boolean(""),
 Boolean(null),
 Boolean(undefined),
 Boolean(NaN)
)                                      → 그 외에는 다 true 반환 

 

*주의사항*

Boolean(0)  false         Boolean('0')  true  (문자형0은 true반환)

Boolean('')   false          Boolean('  ') →  true  (공백이 들어간 열은 true반환)

숫자0 이나 ''(빈문자열)은 false 이나, 문자형0 이나 공백이 들어간 열은 true 

반응형

+ Recent posts