ES6

27 posts
자바스크립트 객체 복제 방법 총정리

자바스크립트 객체 복제 방법 총정리

자바스크립트로 코딩을 하시다가 객체가 의도하신 대로 복제되지 않아서 고생하신 적이 한 번 쯤은 있으실텐데요. 예를 들어, 다음과 같은 객체가 있다고 가정해보겠습니다. 여러분은 위 객체를 어떻게 복제하여 새로운 변수에 복제본을 할당하실 건가요? 원본에 영향이 없도록 안전하게 복제하실 자신이 있으신가요? 이번 포스팅에서는 자바스크립트에서 객체를 복제하는 다양한 방법에 대해서 실습을 통해서 한 번 정리해보도록 할께요. 우선 객체를 복제하다가 쉽게 범할 수 있는 실수에 대해서 살펴보고, 얇은 복제와 깊은 복제에 대한 개념을 잡아보겠습니다.

Node.js로 ES6 코드 실행하기 (Babel6)

Node.js로 ES6 코드 실행하기 (Babel6)

ES6(ES2105) 이상의 최신 자바스크립트 문법으로 작성된 코드가 노드JS(NodeJS)에서 실행이 안 되는 경우가 종종있습니다. 이럴 경우 어쩔 수 없이 예전 자바스크립트 문법으로 코드를 재작성하기도 하는데요. 이번 포스팅에서는 자바스크립트 Transpiler인 Babel을 이용하여 이 문제를 해결해보겠습니다. NodeJS에서 ES6 코드 실행 오류 먼저 간단한 예제 프로젝트를 하나를 만들겠습니다. babel-test라는 디렉터리에 NPM 패키지를 생성합니다. 이제 다음과 같이 매우 간단한 자바스크립트 코드를 작성해보겠습니다.

자바스크립트 ES 모듈 내보내기/불러오기 (import)

자바스크립트 ES 모듈 내보내기/불러오기 (import)

자바스크립트로 개발하다보면 require나 import 키워드를 통해 외부 라이브러리를 불러오는 코드를 자주 보게 됩니다. require는 Node.js에서 예전부터 사용되고 있는 CommonJS의 키워드이고, import는 ES6(ES2015)에서 새롭게 도입되어 현재 자바스크립트 생태계에서 표준이 되어가고 있는 키워드입니다. 두 개의 키워드 모두 하나의 파일에서 다른 파일의 코드를 불러온다는 동일한 목적을 가지고 있지만, 비슷한듯 약간씩 다른 문법 때문에 개발자들을 혼란스럽게 하기도 하죠. 예를 들어, 위 두 코드는 Expres

[ES2015] 기본 매개변수 (Default Parameters)

[ES2015] 기본 매개변수 (Default Parameters)

ES2015는 자바스크립트의 근간이 되는 함수에도 여러 가지 변화를 가져왔습니다. 이번 포스팅에서는 그 중 기본 매개변수(Default Parameters)에 대해서 알아보도록 하겠습니다. 매개변수를 무시한 함수 호출 다음과 같이 사용자의 아이디의 배열을 매개변수를 받아서 사용자의 상세 정보를 돌려주는 함수가 있다고 가정해봅시다. 아래와 같이 정상적인 배열을 넘기면 함수는 예상하는 것처럼 잘 돌아갑니다. 하지만 다음과 같이 인자 없이도 위 함수를 호출하면 어떻게 될까요? 문법이 엄격한 다른 언어라면 분명히 함수 호출이 불가능했을텐데

[ES2015] const로 상수 선언하기

[ES2015] const로 상수 선언하기

이번 포스팅에서는 ES2015에서 let과 함께 자바스크립트에 추가된 const 사용법에 대해서 알아보도록 하겠습니다. let 사용법에 대해서는 아래 포스팅들을 참고바라겠습니다. let으로 변수 선언하기 1 let으로 변수 선언하기 2 매직 넘버 아래 코드에서 findUser 함수는 안자로 받은 id 값이 100보다 작은지 여부에 따라서 로직이 분기되어 있습니다. 그리고 id 값이 100보다 큰 경우, 가짜 사용자 객체를 생성 후, name 속성값의 길이가 50보다 큰지 여부에 따라 다시 한 번 로직이 분기되고 있습니다. 예제와 같

[ES2015] let으로 변수 선언하기 2

[ES2015] let으로 변수 선언하기 2

이전 포스팅에서 ES2015의 let 키워드에서 대해서 알아보았습니다. 이번 포스팅에서는 for 문에서 let이 어떻게 사용될 수 있는지 살펴보겠습니다. 예제 코드 다음 코드는 사용자 아이디를 받아 가짜 사용자를 담든 후 콜백 함수를 호출하는 비동기 함수입니다. 마치 DB 연동처럼 setTimeout 함수를 이용하여 1초의 지연을 주었습니다. setTimeout() 함수에 대한 좀 더 자세한 내용은 관련 포스팅을 참고바랍니다. 그리고 아래 코드는 사용자 아이디의 배열을 받아 여러 사용자의 정보를 출력해주는 함수입니다. findUse

[ES2015] let으로 변수 선언하기 1

[ES2015] let으로 변수 선언하기 1

본 포스팅에서는 ES2015를 통해 자바스크립트에 추가된 let 키워드에 대해서 알아보도록 하겠습니다. 문제의 코드 먼저 다음 예제 코드를 살펴보시죠. findUser 함수는 사용자 아이디가 0보다 크면 성공 메시지를 출력하고 아니면 실패 메시지를 출력합니다. 그리고 if-else 문을 빠져나온 후, 실패 메시지를 다시 한 번 출력하고 있습니다. 자, 그럼 다음과 같이 1을 인자로 이 함수를 호출하면 마지막에 출력하는 실패 메시지는 뭐라고 출력이 될까요? 다음과 같이 오류가 발생하지 않고 undefined가 출력이 됩니다! 첫 개발

Discord