답 : "number"
NaN 함수 > Not a Number의 줄임말이지만, Number 자료형에 속함!
답 : true
https://bugtypekr.tistory.com/53 참고
⇒ 0 == ![]
앞에 ! 가 있으면 boolean 형태로 변환.
Boolean([]) // true
ture의 반대니까 false가 됨
⇒ 0 == false
3 . false는 숫자로 바뀌면 0으로 변환
⇒ 0 == 0
const num = 01234;
console.log(num);
답 : 668
문자열이 숫자 0
으로 시작하면 8진수로 인식한다(구형브라우저 O, 신형브라우저X)
0x, 0X
로 시작한다면 해당 문자열을 16진수 숫자로 인식한다.
앞부분 빈 공백을 두고 나오는 문자는 모두 무시되어 NaN
을 반환한다.
답 : "helloNaN”
+ "world”
에서 +가 앞에 있으므로 문자형이 숫자형으로 변환되어 NaN이 뜸"hello" + NaN
"hello" + "NaN"
답 : 111
+"문자열" 하면 숫자형으로 바뀜
답 : 0
숫자 변환을 수행할 때 빈 문자열을 변환해야 하는 특정 규칙이 ECMAScript 사양에 있기 때문에 0으로 변환함
stackoverflow 참고
답 : 1
답 : "[object Object]”
typeof [] // "object" 임
"object" + {} 이므로 {}를 문자형으로 변환
String({}) // "[object Object]"
가 나옴
"object[object Object]"
그러면 0 + {} 이 되는데
{}은 숫자로 변환하면 NaN임 // NaN 나옴
콘솔 여러개 찍어봤을때
console.log([]+[]) // ""
console.log([]+0) // "0"
console.log([]+"") // ""
console.log([]+"dd") // "dd"
console.log([]+[1,2,3]) //"1,2,3"
console.log(""+[1,2,3]) //"1,2,3"
console.log(""+"[object Object]") //"[object Object]"
[]
은 빈문자형으로 변형되는 무언가가 있는듯
그래서 "" + [object Object] 여서 "[object Object]"로 나오는거 같다!
답 : NaN
parseInt() : 문자열을 숫자로 바꾸는데, "null"처럼 문자열일 경우 NaN을 띄운다
답 : 23
16진수는 F까지 읽을수있음
24진수는 N까지 읽을수있음
n까지 읽을 수 있으므로 n만 읽고 나머지를 날려버림