본문 바로가기

Javascript/Clean Code

(7)
6.배열다루기 - 2 (for 문 배열 고차 함수로 리팩터링, 배열 메서드 체이닝 활용하기, map vs forEach, continue & break) ■ 순서 6.for 문 배열 고차 함수로 리팩터링 7.배열 메서드 체이닝 활용하기 8.map vs forEach 9.continue & break 6.for 문 배열 고차 함수로 리팩터링 : 아래의 for문은 고차함수로 바꾸면 간단하게 바꿔줄수가 있다. const price = ['2000', '1000', '3000']; function getWonPrice(priceList) { let temp = []; for (let i = 0; i price + '..
5.배열다루기 -1 (Javascript의 배열은 객체다, Array.length, 배열 요소에 접근하기, 유사 배열 객체, 불변성) ■ 순서 1.Javascript의 배열은 객체다 2.Array.length 3.배열 요소에 접근하기 4.유사 배열 객체 5.불변성 1.Javascript의 배열은 객체다 : 자바스크립트는 index에 아래와 같이 문자열이나 객체를 넣어줘도 들어간다. : 자바스크립트의 배열은 객체이기 때문이다. const arr = [1,2,3]; arr[3] = 'test'; arr['property'] = 'string value'; //실행안됨 arr['obj'] = {}; //실행안됨 arr[{}] = [1, 2, 3]; //실행안됨 //실행안되는 이유는 for문에서 index에 숫자만 넣어줘서 그렇다. arr['func'] = function () { return 'hello'; }; for (let i = 0;..
4. 분기 다루기 - 2(else if/else 피하기, Early Return, 부정 조건문 지양, Default Case, 명시적인 연산자, Nullish coalescing operator, 드모르간의 법칙) ■ 순서 5.else if 피하기 6.else 피하기 7.Early Return 8.부정 조건문 지양하기 9.Default Case 고려하기 10.명시적인 연산자 사용 지향하기 11.Nullish coalescing operator 12.드모르간의 법칙 5.else if 피하기 : else if를 promise의 then처럼 계속 연속적으로 실행이 된다고 생각하는 사람들이 많다. 아래는 첫번째가 실행된다. const x = 1; if (x >= o) { 'x는 0과 같거나 크다'; } else if (x > 0) { 'x는 0보다 크다 '; } else { 'Else'; } 위는 아래 같이 나타낼 수도 있다. : else if를 한번 시작하면 계속적으로 스위치 문을 사용하는 것과 같다. const x =..
3. 분기 다루기 - 1 (값식문, 삼항 연산자, Truthy & Falsy, 단축평가) ■ 순서 1.값식문 2.삼항 연산자 다루기 3.Truthy & Falsy 4.단축평가(short-circuit evaluation) ============================== 아래 부분은 "3.분기 다루기 - 2"에서 나옵니다. 5.else if 피하기 6.else 피하기 7.Early Return 8.부정 조건문 지양하기 9.Default Case 고려하기 10.명시적인 연산자 사용 지향하기 11.Nullish coalescing operator 12.드모르간의 법칙 1.값식문 -.문법 : 개발자는 프로그래밍 언어를 사용하기 때문에, 문법에러나 오타가 나면 장애나 서비스 오류가 날 수가 있다. 사소한 문법하나하나는 당연히 중요하다. 하지만 문법을 지키는 것은 생각보다 어렵다. 아래의 Rea..
2.경계 다루기(min-max, begin-end, first-last, prefix-suffix 등) 순서 1.min-max 2.begin-end 3.first-last 4.prefix-suffix 5.매개변수의 순서가 경계다 1.min-max 아래와 같이 함수부를 보지 않더라도 이름만으로 명시적으로 알수 있게 표현하는 것이 좋다. genRandomNumber만 보더라도 랜덤숫자를 만들려고 하는 건지 알 수 있다. //경계 다루기 //상수 const MIN_NUMBER = 1; const MAX_NUMBER = 45; genRandomNumber(MIN_NUMBER, MAX_NUMBER); //최소, 최대 순대로 최대, 최소값을 할 때는 숫자까지 포함하는지 안되는지를 팀내에서 확실히 정하는 것이 좋다. 이상, 초과 vs 이하, 미만 이름에 LIMIT이라던지, IN을 하던지를 꼭 표시하는 것이 좋다. co..
0.클린코드 자바스크립트 클린코드 카테고리에 있는 글들은 전부 udemy에서 클린코드 자바스크립트라는 강의를 듣고 중요내용들을 적은 글들입니다. 아래는 강의의 링크입니다. https://www.udemy.com/course/clean-code-js/ 강사님과 직접적인 연관은 없으나, 출처를 표기의 목적으로 이 글을 남깁니다.
1.Type을 다루기 ■ 순서 1.typeof 2.undefined & null 3.eqeq(==)줄이기 4.형 변환 주의하기 5.isNaN 1.typeof typeof를 사용하면 해당되는 타입을 문자열로 표현해준다. //PRIMITIVE typeof '문자열' // >> 'String' typeof true // >> 'boolean' typeof undefined // >> 'undefined' typeof 123 // >> 'number' typeof Symbol() // >> 'symbol' typeof로 감별하기 힘든 대상들 : PRIMITIVE는 감별하기 쉽지만 REFERENCE 대상들은 typeof로 판단이 힘들다. " 자바스크립트는 동적으로 변하는 언어이기 때문에 타입 또한 동적이다. //REFERENCE(ob..