#1 프로미스 Promise API는 비동기 API 중 하나이다. 태스크 큐가 아닌 잡 큐를 사용하며, 태스크 큐보다 우선순위가 높다. Promise는 비동기 작업을 표현하는 자바스크립트의 객체로, 비동기 작업의 진행/성공/실패 상태를 표현한다. > 비동기 처리의 순서를 표현할 수 있다. setTimeout( () => { console.log("타임아웃1"); }, 0); Promise.resolve().then( () => console.log("프로미스1") ); setTimeout( () => { console.log("타임아웃2"); }, 0); Promise.resolve().then( () => console.log("프로미스2") ); // 출력 순서: // 프로미스1 프로미스2 // 타임..
Frontend
#1 var let const 변수 타입의 차이점 초기화 사용 범위 (scope) 업데이트 (재할당) 재선언 var undefined 전역 O O let 초기화 x 블록 범위 내 O X const 초기화 x 블록 범위 내 X X #2 Hoisting Hoisting이란? 변수가 선언된 시점보다 앞에서 사용되는 현상이다. var 변수는 생성 단계에서 undefined로 초기화되지만 let/const 변수는 생성 단계에서 초기화되지 않기 때문에 선언문 이전에 접근하는 경우 referenceError가 발생한다. 따라서 let/const는 hoisting이 발생하지 않고, var 변수만 사용된다. 함수는 생성 단계에서 함수 전체가 저장되기 때문에 함수의 선언이 호출 부분 뒤에 있어도 호출이 가능하다. cons..
#1 메서드가 호출되는 상황 직접 호출: 메서드를 직접 호출 메서드 호출: 객체의 메서드를 호출 생성자 호출: 생성자 함수를 호출 간접 호출: call, apply 등으로 간접적 호출 function fun1() { console.log('fun1 called') } fun1()// 1. 직접 호출 const o = { name : 'Minji', printName : function() {// 익명 메서드 console.log(this.name) } } } o.printName()// 2. 객체의 메서드 호출 function Person(name) { this.name = name this.printName = function() { console.log(this.name) } } } const p =..
자주 사용되는 메서드 next 다음 토큰을 String 타입으로 반환, 띄어쓰기 뒷부분은 읽지 않는다. nextLine '\n'을 포함하는 한 줄을 읽고 \n을 버린 나머지를 반환 nextByte return byte nextShort return short nextInt return int nextLong return long nextDouble return double close Scanner 사용 종료, void 타입 반환 hasNext 현재 입력된 토큰이 있으면 true, (새로운 입력이 들어올 때까지 무한정 기다린다.) ctrl+z 키가 입력되면 false 반환 주의할 점 입력값을 토큰 단위로 읽는다. (nextLine만 한 줄을 통으로 읽음) 공백문자도 버퍼에 저장되어 남아있다. 매개변수의 의..
DOM 요소의 선택 document.getElementsBy~() 사용하여 변수에 저장 // HTML 요소 var selectedItem = document.getElementsByTagName("li"); // 아이디가 "id"인 요소 var selectedItem = document.getElementsById("id"); // 클래스가 "odd"인 모든 요소 var selectedItem = document.getElementsByClassName("odd"); // name 속성값이 "first"인 모든 요소 var selectedItem = document.getElementsByName("first"); DOM 요소의 스타일 변경 변수.style.~ 접근해서 변경 // 텍스트 색상 변경 sel..
#1 id 모든 id는 다르게 지정해주어야 하며, 특정 태그를 제어할 때 유용하게 쓰인다. 중복 사용이 불가하며 식별자 우선순위가 가장 높다. #2 class 여러 영역에서 중복 정의를 허용하여 재사용이 가능하므로 요소의 유형과 상관없이 일관적인 설정이 가능하다. #3 name id와 달리 중복이 가능하며 같은 속성의 값을 동시에 제어할 수 있어 배열에서 활용도가 높다. 자바스크립트에서 이벤트 발생 시 요소를 참조할 수 있게 한다. CSS에서는 사용할 수 없다. 식별자 우선순위 id > class > 일반 태그들