Javascript/ES5 & ES6

    타입, Array, Array에 유용한 메서드

    자바스크립트 타입 javascript에는 크게 두가지 타입이 있다. 이건 자바스크립트라는 언어에 국한된게 아니고 대부분의 언어의 공통사항이다. 첫번째는 값이 담겨있는 primitive 타입과 두번째는 주소값이 담겨있는 reference 타입이다.primitive 타입에는 primitive 타입에는 String, Number, Boolean, null, undefined, 그리고 es6에 추가된 symbol까지 6가지 reference 타입에는 object 가 있다. 이 개념을 분명히 알고있어야 call by value와 call by reference 의 차이점을 이해할 수 있고, shallow copy 와 deep copy의 차이점을 이해할 수 있고, 리액트에서 자주 나오는 immutable의 의미를 ..

    arrow function

    함수 선언문 기본적인 함수 선언문 function add(x, y) { return x + y; } 함수표현식 함수 선언문을 변수를 선언해서 함수 표현식을 만들 수 있다. 왼쪽에는 변수가 오고 오른쪽에는 이름이 없는 익명함수 (anonoymous function)이 오게 된다. 선언문과 표현식의 차이는 표현식은 호이스팅이 안된다. 표현식에서 변수부분만 일어나고 실제 할당은 코드가 실행될 때 대입된다. var add = function(x, y) { return x + y; } arrow function 함수 표현식일 경우 우측은 익명함수가 오게 되는데 이 익명함수를 arrow function으로 바꿀 수 있다. 바꾸는 방법은 function이라는 키워드를 지우고 파라미터와 함수 내부 내용 사이에 =>를 ..

    immutable

    원본이 불변한다 - immutable Array.from() 객체인 array의 내용만 복사해서 담아줌. 서로 다른 두 array가 탄생함. 배열을 만들고 초기화까지 하는 내장 함수. var a = [1, 2]; var b = Array.from(a); //Array.from은 내용은 같지만 둘이 완전 다른 새로운 배열이 만들어진다. console.log(a, b, a===b); // [1, 2] [1, 2] true // a와 b는 내용이 같을 뿐 완전히 다름. 아래처럼 원하는 길이만큼의 배열을 만들 수도 있다. 첫번째 인자에 {lenght: 원하는 배열의 길이} 객체를, 두번째 파라미터로 원하는 값을 반환하는 콜백함수를 넘겨줄 수 있다. 콜백함수의 인자는 (현재 값, index)를 인자로 사용한다. ..

    자바스크립트 함수/호이스팅

    함수의 선언 함수는 여러개의 인자를 받아서, 그 결과를 출력한다 파라미터의 개수와 인자의 개수가 일치하지 않아도 오류가 나지 않는다. 만약, 파라미터 1개가 정의된 함수를 부를 때, 인자의 개수를 0개만 넣어 실행하면, 이미 정의된 파라미터(매개변수)는 undefined이라는 값을 갖게 된다. 이는 변수는 초기화됐지만, 값이 할당되지 않았기 때문이다. function printName(firstname) { var myname = "DUCK"; return myname + " " + firstname; } 만약 이 함수의 인자 firstname에 아무 값도 안주면 무슨 일이 일어날까? undefined가 출력된다. 선언은 되어있지만 할당이 되어있지 않기 때문이다~ console.log(printName(..