javascript 재학습하면서 잊고 있던것, 긴가민가 했던것 재학습하면서 기록
정의: 숫자, 문자열, 불 같은 자료형을 확인할 때 사용
괄호 없이 사용할수 있음
typeof 1 + '문자열'
typeof ( 1 + '문자열' )
typeof ( 1 ) + '문자열'
정의: 선언하지 않은 변수 or 변수를 선언했지만 초기화 하지 않았을 때 해당 변수의 자료형은 undefined
undefined 자료형은 false
임
'+'는 숫자 자료형을 문자열 자료형으로 자동 변환함
// 1
alert ( '52 + 273' ) ;
// 2
alert ( 52 + 273 ) ;
// 3
alert ( '52' + 273 ) ;
// 4
alert ( 52 + '273' ) ;
// 5
alert ( '52' + '273' ) ;
1번 '52 + 273' 자체를 출력
2번 325 출력
3, 4, 5번 '52273' 출력
더하기 연산자를 제외한 사칙연산자는 문자열 자료형을 숫자 자료형으로 자동 변환함
// 1
alert ( '52 * 273' ) ;
// 2
alert ( 52 * 273 ) ;
// 3
alert ( '52' * 273 ) ;
// 4
alert ( 52 * '273' ) ;
// 5
alert ( '52' * '273' ) ;
1번 '52 * 273' 자체를 출력
나머지 '14196'
숫자가 아닌 값일 경우 NaN 값 출력
자바스크립트는 복소수를 표현할수 없음
var number = Math . sqrt ( - 3 ) ;
alert ( number ) ;
alert ( Boolean ( 0 ) ) ;
alert ( Boolean ( NaN ) ) ;
alert ( Boolean ( '' ) ) ;
alert ( Boolean ( null ) ) ;
alert ( Boolean ( undefined ) ) ;
alert ( Boolean ( '0' ) ) ;
alert ( Boolean ( 'false' ) ) ;
템플릿 문자열은 ` 기호로 감싸 만들며, 문자열 내부에 '${}' 기호를 사용하고 내부에 표현식을 넣으면, 문자열이 만들어질때 표현식이 계산되어 들어감
변수를 넣어 사용 가능
모든 버전의 IE에서 사용이 불가능
alert ( `표현식 273 + 52의 값은 ${ 52 + 273 } 입니다...!` ) ;
var 키워드는 전역 스코프
위치에 변수를 선언하는 키워드
일반적으로 스코프 내부에 선언한 변수는 해당 변수를 생성한 이후 스코프 내부에서 사용하고, 스코프를 벗어날 때는 제거해야 메모리 등의 시스템 자원을 적절하게 이용할 수 있음
하지만, 자바스크립트의 var 키워드는 그렇지 못함
let 키워드는 특정 스코프
내부에서만 변수를 선언하는 키워드
바벨을 사용하면 let 키워드를 단순하게 var로 치환해주기 때문에 비동기 함수를 사용했을 때 문제가 발생할 수 있음!!