본문 바로가기

자바스크립트에서 제공하는 배열(Array)의 유용한 함수 (reduce, map, filter, indexOf, foreach) 자바스크립트(javascript)에서 제공하는 배열의 함수 ES6에서만 사용하는 것은 아니지만 자바스크립트 프로그래밍할 때 유용한 메서드이면서 다른 사람의 코드를 보면서 이해를 못했던 필자 같은 사람을 위해 정리한다.(1) 배열 안의 특정값 찾기 ( indexOf ) 배열에서 특정 값이 존재하는지 탐색할 때 for문으로 일일이 검사하면서 코드를 짜는게 보통이다.123456var isExist = false;for(var i = 0 ; i= 10;}var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);// filtered 는 [12, 130, 44] 배열에 대해서 filter를 적용해 10이상인 값만 필터링하는 예제12345678910var arr = [ {"n..
ES6 화살표 함수(arrow function) 변경점 요약 (사용법, this등) Arrow function 1. 사용법1234567891011121314151617181920//기존의 function samplevar double = function(x){ return x*2;}//arrow function sampleconst double = (x) => { return x*2;}//매개변수가 1개인 경우 소괄호 생략 가능const double = x => {return x*2}//함수가 한줄로 표현가능하면 중괄호 생략 가능하고 자동으로 return됨const double = x => x * 2//매개변수가 두 개 이상일 때const add = (x,y) => x + y//매개변수가 없을 때() => { ... }//객체변환할 때 중괄호 사용() => {return {a:1};}/..
ES6 화살표 함수(arrow function)를 배우기 전 자바스크립트 this 이해하기 ES6 arrow function 배우기 전 자바스크립트 this 이해하기 ES6 arrow function을 배우기 전 이해를 돕기 위해 자바스크립트의 this 에 대해서 간단하게 정리한다.JAVA같은 언어에서 this는 클래스로부터 생성되는 인스턴스 객체를 의미한다.다른 의미를 가질 염려가 없어서 혼란이 생기지 않는다.자바스크립트에서는 this는 함수의 현재 실행 문맥(context)이다.자바 스크립트에서는 4가지의 함수 실행 타입이 존재한다.1. 함수 실행 alert('hello world');2. 메소드 실행 console.log('hello world');3. 생성자 실행 new Sample();4. 간접 실행 alert.call(undefined, 'hello world');각 타입은 서로 다..
ES6 문법 배우기 - const, let, Template Literals 왜 ES6를 배워야 하는가? - 개인적인 생각입니다.ES6는 새로운 문법이 생긴 만큼 변경점이 큰 자바스크립트의 버전이다.angular, typescript, react, nodejs등 자바스크립트를 사용하는 곳에서 ES6를 이용한 개발이 주를 이루고 코드도 많이 나오고 있다.게다가 자바스크립트의 비약적인 발전으로 어느곳에서든 자바스크립트를 이용해 프로그래밍을 할 가능성이 높다.따라서 자바스크립트를 사용하든 하지 않든 자바스크립트(ES6)를 공부하는 것은 많은 도움이 될 것이다.* 다만 현재 모든 브라우저 버전에서 ES6를 지원해주지 않고 있다.const, let기존 자바스크립트에서 변수 선언을 var로 했었다.ES6부터는 var뿐만 아니라 const와 let이 생겼다.var vs const, letco..
Git stash (commit하지 않고 하던 작업을 잠시 보관하는 방법) Git stash stash는 git 명령어다.stash(넣어두다) 뜻 그대로 내가 branch에서 작업하다가 다른 branch로 옮겨가야 할 경우가 생겼을 때 commit하지 않고 잠시 작업하던 것을 보관하고 다른 branch로 넘어가는 것이다."commit하고 나중에 다시 해당 브랜치로 왔을 때 이어서 작업하면 되는거 아니야?"라고 생각할 수 있다.하지만 그럴 수 없는 상황이 있다.예를 들어 실수로 master브랜치에서 코딩을 한 경우나 뭔가 새로운 것을 개발하고 있는데 다른 브랜치에 문제가 생겨서 급히 수정해야하는 경우다.실제로 commit을 잘하는 것은 하나의 기능에 대해 변경했을 때 commit을 해주는 것이 좋다.commit 메세지에도 정성을 다해 간결하면서도 명확한 최적의 메세지를 작성하는 ..
Git merge (브랜치 병합하기 + 충돌 제거하기) Git merge (브랜치 병합) 하는 방법 Git을 버전관리시스템으로 두고 같이 협업하는 과정에서 브랜치를 만들어서 각자 개발을 했다면,언젠가는 소스코드를 합쳐서 테스트도 해보고 시스템에 적용도 해보고 해야한다.그런 상황에서 브랜치를 합치는 것(병합)을 merge라 한다.* 사용법A브랜치에서 B브랜치를 병합한다 (= A로 B를 가져온다. A y console.log(y); return x*y;// x+y -> x*y}cs이 상황에서 master브랜치에서 exp브랜치를 merge하기 위해 "git merge exp" 라는 명령어를 치면 어떨까?예상대로 conflict message를 주고 git status 명령어에서도 알려준다.특히 conflict가 발생한 파일을 열어보면 쉽게 알 수 있다.보면 >까지..
Git branch 공부 (깃의 혁신! branch, checkout) Git branch 만들기 git을 사용함에 있어서 아주 훌륭한 기능인 branch에 대해 알아본다.branch는 git에서 버전관리를 할 때 분기해서 다른 용도로 분기하거나 테스트용으로 분기할 때 쓰이는 방법이다.어떤 프로젝트의 버전 관리를 할 때 메인 branch(master)가 있고 그 메인에서 갈라져 나온 여러 branch가 있다.branch는 다른 branch와 독립적으로 관리되다가 버려질 수 있고(삭제) 반영되어 합쳐질 수도 있다(merge).* 브랜치를 사용하는 경우case 1 : 특별한 대상을 위한 커스텀 기능이 추가되는 버전을 만들 때, 기존 소스에 타격이 없게 만들 수 있음case 2 : 고객이 필요하지 않은 기능을 개발할 때 버려질 것임을 짐작할 수 있을 때case 3 : 테스트용도,..
Git 원리 번외 1편 (.git파일) Git 원리 Git으로 관리되는 디렉토리에는 .git이라는 디렉토리(숨김 상태)가 생긴다.이 디렉토리 안에는 git과 관련된 파일이 있다.우리가 쓰는 명령(add, commit, .txt파일등)이 어떻게 관리되는지 확인해본다.* add의 원리- f1.txt를 생성하고 a라는 텍스트를 쓴 후 add해서 git이 관리하게 만들었을 경우.git/objects 디렉토리안에 디렉토리를 만들고 그안에 파일로써 관리한다.명확하게 설명하면 "a"라는 문자를 sha1이라는 해시 알고리즘으로 해시코드(40자리)를 만들고 그 중에 처음 2자리로는 해당 문자로 .git/object안에 디렉토리를 만들고 나머지 38자리로는 해당 문자로 이름을 갖는 파일을 만든다.여기서 예로든 "a"라는 이름은 누가, 어떤 컴퓨터에서 만들든 같..