JavaScript

//tip 32 테스트 하기 쉬운 함수를 만들자 //테스트는 매우 중요하다. //코드를 리팩토링 하기 쉽고, 오래된 코드를 이해하기 쉽고, 명확하고 버그가 적은 앱플리케이션을 만들 수 있다. //하지만 테스트를 작성하는 것은 어렵기 때문에 개발자들은 많이 안하려한다. //그렇지만 우리는 테스트할 수 있는 코드를 작성하는것에 집중해야한다. //테스트할 때 어려운점이라 하면 외부 의존성에 강하게 연결된 코드들이 어렵다. //여기서 외부 의존성이 높다고 말하는 것은 테스트하는 코드 외부에서 함수, API등을 불러와 테스트 할 함수와 밀접하게 결합되어 있다는 것이다. //이러한 문제는 모의객체(mock object)를 생성하여 함수를 가로채고 명시적인 반환값을 설정하게 만들어야 한다. //모의객체 : 주로 객체..
//tip 31 나머지 매개변수로 여러 개의 인수를 변수로 전달하자 //나머지 매개변수로 개수를 알 수 없는 다수의 매개변수를 전달하는 방법을 알아보자. //매개변수를 객체로 전달하는 것은 좋은 방법이지만 객체처럼 전달되는 매개변수들이 서로 다를때 즉, 객체를 다루는 경우에만 좋다. //그렇다면 갯수를 알 수 없는 비슷한 매개변수들을 어떻게 처리해야 하는가? //우선 내장된 arguments 객체를 이용해 해결해 보자. function getArguments() { return arguments; } getArguments(`Bloomsday`, `June 16`); console.log(getArguments(`Bloomsday`, `June 16`)) // { `0`: `Bloomsday`, `1`:..
//tip 29 해체 할당으로 객체 속성에 접근하라 //매개변수는 객체와 배열에서 정보를 빠르게 가져오는 좋은 기능이지만 //항상 순서를 지켜야하고, 매개변수를 건너뛰고 싶은 경우에도 작성해야 한다는 문제점이 있다. //그렇다면 함수의 여러개의 인수가 필요할때, 요구사항이 변경될 때는 어떻게 해야하는가? //사진의 정보들을 전달하는 예시를 보자 //이 경우에는 개별 매개변수로 전달하는 것은 옳지 않다. //많은 매개변수를 작성할 수 도 있고, 이미 구조화된 정보를 변경하는 것은 의미가 없다. const landscape = { title: `Landscape`, photographer: `Nathan`, equipment: `Cannon`, format: `digital`, src: `/landscape..
//tip 27 for-in문과 for-of문으로 반복문 정리 //이번에는 반복문의 명료성을 유지하는 법을 배워보자 //필요한 결과와 일치하지 않을 때는 반복문의 사용의 이점이 없다. const firm = new Map() .set(10, `Ivie Group`) .set(23, `Soundscaping Source`) .set(31, `Big 6`); console.log(firm); //컬랙션은 배열이 아니므로 for문을 사용할 수 없다. ❗❗그러므로 펼침 연산자를 이용해 맵을 배열로 변환하면 해결할 수 있다. const entries = [...firm]; for (let i = 0; i < entries.length; i++){ const [id, name] = entries[i]; if (!i..
//tip 25 체이닝으로 메서드를 연결하라 //체이닝을 간단히 정의 하자면 값을 다시 할항하지 않고 반환된 객체(또는 원래 객체)에 메서드를 바로 호출 하는 것이다. //더 간단히 여러개의 배열 메서드에서 배열이 반환 될 때, 배열 메서드를 연이어 호출하는 것. const sailors = [ { name: `yi hong`, active: true, email: `yiho@naver.com`, }, { name: `alex`, active: true, email: ``, }, { name: `nathan`, active: false, email: ``, }, ]; //먼저 active가 true로 된 사람들에게 메일을 보낼 수 있도록 true로 된 사람만 filter하는 코드를 작성 해보자 const..
//tip 22 map() 메서드로 비슷한 길이의 배열을 생성하라 //map() 메서드는 map객체와는 다른 것이다. //map() 메서드는 흔하게 사용되고 새롭게 생성된 배열에 메서드를 콜백에서 반환하는 정보가 담긴다. 즉, 반환값이 알기 쉽다는 것이다. //맵 함수는 정보, 값의 일부를 가져와 다른 형식의 값으로 반환한다. 예제를 보자 const band = [ { name: `corbett`, instrument: `guitar`, }, { name: `evan`, instrument: `guitar`, }, { name: `sean`, instrument: `bass`, }, { name: `brett`, instrument: `drums`, }, ]; //모든 배열 메서드는 배열의 각 항목에 적..
58청춘
'JavaScript' 카테고리의 글 목록 (17 Page)