렛츠 기릿 자바스크립트
2강
문자열, 숫자
NaN을 typeof NaN 하면 'number'라고 나온다
parseInt('숫자') 숫자로 변환
Number는 문자열+숫자열를 파싱하지 못함
parseInt는 '3월'을 3을 파싱함
parseInt(숫자,진법) 진법으로 전환
prompt() 문자열 값입력 가능
실수 끼리 계산하면 부동소수점 이슈로 이해 오차 발생
가장 간단한 해결 방법은 실수를 정수로 바꾼 후 계산 다시 실수로 전환
(0.3 * 10 - 0.1 *10) / 10
Boolean
NaN == NaN //false
<= 나 >= 도 False가 됨
true > false //true
암묵적으로 true는 1 false는 0
'b' > 'a' //true
'ad' > 'ab' //true
'3' < 5 //true
'abc' < 5 //false
문자열끼리 비교가능
2번째 줄은 a가 같으니 뒤에 'd'와 'b'를 비교
3번째 줄 문자열 숫자는 비교할 때 자동으로 형변환
4번째 abc -> NaN으로 변화. NaN과의 비교는 항상 false
==와 === 차이
'1' == 1 //true
1 == true // true
'1' === 1 //false
==는 value만 같으면 같다고 함 그러나 ===는 자료형이 같은지 확인
!!false //false
!!'' //false
!!0 //false
!!NaN //false
빈 값들은 False가 됨(false, ''(빈문자열), 0, NaN, undefined, document.all)
undefined와 null
!!undefined; //false
undefined == false; //false
undefined == 0; //false
undefined == ''; //false
undefined은 기본 값
undefined == null //true
undefined === null //false
null과 undefined는 같지 않다.
typeof null //object
유명한 자바스크립트 버그 결과같이 null이 나와야 하는데 object가 나온다
변수
let, const, var
값을 대입하지 않은 변수 선언하면 undefined가 나온다(기본값)
null은 프로그래머가 직접 쓰지 않으면 나올 일이 없다(의도할 때 사용)
$와 _를 변수명으로 가능
변수를 비울 땐, null을 대입해 의도적으로 비었다는 걸 나타낸다(undefined는 기본값이라 의도가 잘 안 전해짐)
let은 선언한 변수를 다시 재선언하기 불가능
const는 변수 재선언 불가능, 변경 불가능(상수)
var은 다시선언 가능
'잡 > 공부일기' 카테고리의 다른 글
02월05일 자바스크립트 중급1 (0) | 2022.02.05 |
---|---|
2월04일 공부 내용(렛츠 기릿 자바스크립트 3) (0) | 2022.02.04 |
27 저녁공부 (0) | 2022.01.27 |
26일 저녁공부 (0) | 2022.01.26 |
11월28일 공부 (0) | 2021.11.28 |