Hoisting이란?
변수가 선언된 시점 보다 앞에서 그 변수가 사용되는 현상이다.
즉 변수나 함수의 선언문의 유효범위를 최상단으로 끌어올려 변수나 함수를 선언하기 이전에도 사용할 수 있도록 해주는 것이다.
var
는 생성 단계에서 undefined로 초기화가 되어 Error가 발생하지 않지만
let
과 const
변수는 생성단계에서 초기화되지 않아 ReferenceError가 발생한다.
즉 let
,const
는 hoisting이 발생하지 않는다.
//var 변수는 생성단계에서 undefined로 초기화
console.log(test); //undefined
var test = 10;
console.log(test) // 10
// ReferenceError 발생
Name = "jenny"
let Name;
school = "highschool"
let school;
test(); // 오류발생, 함수표현식은 호이스팅 안됨.
var test = function () {
console.log("hello")
}
test();
function test() {
console.log("hello")
}
숫자를 표현하는 객체
toFixed()
: 숫자의 소수점 자릿수를 제어isNaN()
: 전역함수로, 입력값을 숫자로 변환했을 때 NaN이 되는지를 검사NaN
: Not a Number를 나타내는 객체수학 연산 메서드, 상수를 다루는 객체
Math.round()
: 반올림Math.ceil()
: 올림Math.floor()
: 내림Math.max()
: 제일 큰수Math.min()
: 제일 작은 수Math.abs()
: 절대값Math.random()
: 0에서 1사이의 float number 반환특정 시점의 날짜를 표현하기 위한 객체
now()
: 현재 시간을 밀리초 단위로 변환getMonth()
: 월 구하기 (1월 = 0, 12월 = 11)getDate()
: 일 구하기(1~31)getDay()
: 요일 구하기(일요일 = 0, 토요일 = 6)getTime()
: 1970/01/01 00:00:00로 부터 경과한 시간을 밀리초로 취득setFullYear()
: 년도를 설정setMonth()
: 월을 설정toTimeString()
: 시각을 문자열로 취득toDateString()
: 일을 문자열로 취득toLocalString()
: 로컬시를 문자열로 취득문자열을 표현할 때 사용하는 객체
charAt(index)
: index위치의 문자를 반환charCodeAt(index)
: 해당 index의 위치의 문자를 unicode로 반환fromCharCode( )
: unicode값을 문자로 반환indexOf(value,startIndex)
: startIndex 위치 부터 value 문자열을 찾고, 발견한 위치를 반환 ( 없으면 -1 반환, startindex 생략 가능)split(separator)
: 구분자로 문자를 분할하여 반환replace(str,newStr)
: str를 newStr로 변환trim()
: 문자열의 앞 뒤의 공백을 제거includes(str)
: 문자열 검색에 성공 시 true , 실패시 false 리턴toUpperCase()
: 문자열을 대문자로 바꾸어 변환JSON.stringify( )
: JavaScript 객체를 JSON 문자열로 변환JSON.parse()
: 주어진 JSON 문자열을 JavaScript 객체로 변환