선언은 호이스팅 되지만 할당은 호이스팅 되지 않기에 undefinedlet 이 호이스팅 되지 않는것 처럼 보이는이유 = temporal dead zone 때문tdz 영역에 있는 변수들은 사용할 수 없음.let, const는 tdz영역의 영향을 받음. 즉 할당을 하기 전
지금까지 객체의 property key는 문자형으로 만듦.1 이나 false를 key에 입력해도 출력하면 문자열로 반환됨을 볼 수 있음.실제로 접근할 때에도 문자열로 접근할 수 있음.이렇게 객체의 프로퍼티 키는 문자열로 가능한데 하나더 가능한게 심볼형임심볼은 유일한 식
모든 switch문은 if else 문으로 대체 가능함케이스가 다양할 경우 보다 간결하게 쓸 수 있음.break를 만나면 switch문을 빠져나옴그런데 바나나를 입력했을때 바나나 케이스에 해당하는 200원 말고도 아래꺼 모두 출력하게 됨그래서 위와 같이 break를 같
예약어는 변수로 사용 불가name = 'min' 과 같이 사용가능그렇지만 덮어씌워 지기 가능해짐let name ='min'let name ='jeong' 의 겨우 에러 발생함 다른 개발자가 아~ 변수이름 이미썻구나 하고 바꿈const 는 절대 바뀌지 않는 상수, 수정하
두번째 인수에 0을 넣으면?아무것도 지우지 않고 중간에 새로운 요소를 추가하는게 가능삭제된 요소를 반환함.arr.aplice를 하면 기존의 arr가 바뀜(요소가삭제되고 남은거), arr.splice를 찍어보면 arr에서 삭제시킨 요소를 반환함.문자열에는 적용 불가\+)
배열을 재정렬배열 자체가 변경되니 주의잘 되는듯 보였으나 위와 같이 숫자가 뒤죽박죽 정렬됨 -> 문자열로 취급하기 때문, 1과 2로 시작하는 13과 27을 앞으로 정렬한 것임.제대로 비교하고 싶으면 값을 비교할 수 있는 함수를 전달하면 됨, sort는 함수를 인수로 받
구조 분해 할당 구문은 배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게 하는 표현식split이용공백과 쉼표를 이용해서 필요하지 않은 배열을 무시할 수 있음.Tom은 공백으로 무시, 4번째 변수 Tony도 사용하는 변수가 없으므로 무시됨a에 b값을 넣고 b
클로저(Closure) setTimeout setInterval call apply bind
객체에는 자신의 프로퍼티인지 확인하는 메소드가 존재함.= hasOwnProperty만든적이 없는데?proto라는 객체가 있음.이것을 프로토타입 이라고함.일단 객체에서 프로퍼티를 읽으려 하는데 없으면 proto라는 객체에서 찾음.만약 이름이 hasOwnProperty인
객체에는 자신의 프로퍼티인지 확인하는 메소드가 존재함.= hasOwnProperty만든적이 없는데?proto라는 객체가 있음.이것을 프로토타입 이라고함.일단 객체에서 프로퍼티를 읽으려 하는데 없으면 proto라는 객체에서 찾음.만약 이름이 hasOwnProperty인
지금까지 비슷한 형태의 객체를 생성하기 위해 생성자 함수를 사용함.클래스를 이용해 객체를 생성하면new를 사용했을때 내부에서 정의된 내용으로 객체를 만드는건 동일함.class키워드 사용+ 내부에 constructor가 있음.constructor는 객체를 만들어주는 생성
async, await를 사용하면 promise에 then메소드를 체인형식으로 호출하는 것보다 가독성이 좋아짐.함수앞에 async를 붙이면 호출시 promise를 반환함.그래서 함수를 호출하고 then을 사용할수 있음.만약 반환값이 promise면 promise.res
문서객체모델html문서의 각 요소들을 트리 형식으로 표현,트리형식의 자료구조자바스크립트를 이용해 이를 생성,수정,삭제 가능위 그림에서 하나의 객체가 노드모든 html태그는 객체임.자바스크립트로 접근할 수 있다. 자바스크립트로 html제어가 가능함css도 제어가능id로