JavaScript20 Javascipt를 Typescript 처럼 코딩하기 간단하게 jsdoc을 사용하여 타입스크립트 처럼 사용할 수 있다. /** * * @param {number} a 첫 번째 숫자 * @param {number} b 두 번째 숫자 */ function sum(a, b) { return a + b } 이렇게 함수에서 타입 추론이 가능하다. 해당 함수를 호출할 때도 각 매개변수에 대해 타입 추론이 가능하다. 하지만 안타깝게도 추론만 해줄 뿐 다른 타입의 값이 들어와도 에러는 발생하지 않는다. @ts-check 으로 타입스크립트를 사용한 것처럼 예상한 타입이 아닌 다른 타입이 매개변수로 들어왔을 때 에러를 볼 수 있다. 2021. 4. 7. 프로미스 자바스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용한다. 하지만 콜백 지옥으로 인해 가독성이 나쁘고, 비동기 처리 중 발생한 에러의 처리가 곤란하며, 여러 개의 비동기 처리를 한번에 처리하는 데도 한계가 있다. 그래서 ES6 에는 비동기 처리를 위한 패턴으로 프로미스를 도입했다. 먼저 프로미스 이전의 콜백 패턴에 대해 알아보겠다. 비동기 함수는 처리 결과를 외부에 반환할 수 없고, 상위 스코프의 변수에 할당할 수도 없다. 따라서 비동기 함수의 처리결과(예를 들면 서버의 응답)에 대한 후속 처리는 비동기 함수 내부에서 수행해야 한다. 이때 비동기 함수를 범용적으로 사용하기 위해 비동기 함수에 처리 결과에 대한 후속 처리를 수행하는 콜백 함수를 전달하는 것이 일반적이다. const get =.. 2020. 11. 27. 이벤트 브라우저는 처리해야 할 특정 사건이 발생하면 이를 감지하여 이벤트를 발생시킨다. 이벤트가 발생했을 때 호출될 함수를 이벤트 핸들러 라 하고, 이벤트가 발생했을 때 브라우저에게 이벤트 핸들러의 호출을 위임하는 것을 이벤트 핸들러 등록 이라고 한다. 이벤트 전파 DOM 트리상에 존재하는 DOM 요소 노드에서 발생한 이벤트는 DOM 트리를 통해 전파된다. 이를 이벤트 전파 라고 한다. Apple Banana Orange ul 요소의 두번째 자식요소인 banana li 요소를 클릭하면 클릭 이벤트가 발생하고, 이때 생성된 이벤트 객체는 이벤트를 발생시킨 DOM 요소인 이벤트 타깃을 중심으로 DOM 트리를 통해 전파된다. 이벤트 전파는 이벤트 객체가 전파되는 방향에 따라 3단계로 구분한다. window -> do.. 2020. 11. 25. DOM Document Object Model은 HTML 문서의 계층적 구조와 정보를 표현하며 이를 제어할 수 있는 API, 즉 프로퍼티와 메서드를 제공하는 트리 자료구조 이다. HTML 문서의 계층적 구조와 정보를 표현하는 것은 물론 노드 객체의 종류에 따라 필요한 기능을 프로퍼티와 메서드의 집합인 DOM API 로 제공한다. 요소취득 document.getElementById( 'id' ) : 인수로 전달한 id 값을 갖는 하나의 요소 노드를 탐색하여 반환 document.getElementsByTagName( 'div' ) : 인수로 전달한 태그 이름을 갖는 모든 요소 노드들을 탐색하여 반환한다. 반환값은 여러개의 노드 객체를 갖는 DOM 컬렉션 객체인 HTMLCollection 객체를 반환한다. HTML.. 2020. 11. 25. 이전 1 2 3 4 5 다음