전체 글

전체 글

    구조 분해 할당(Destructuring Assignment) - 객체, 중첩구조 편

    구조 분해 할당(Destructuring Assignment) - 객체, 중첩구조 편

    이전 포스팅에서는 구조 분해 할당에서도 배열을 분해하는 방법에 대해서 알아보았다. 이번 포스팅에서는 객체를 분해하는 방법과 중첩 구조를 분해하는 방법, 그리고 기타 내용들에 대해서 다뤄보고자 한다. 구조 분해 할당(Destructuring Assignment) 객체 분해하기 구조 분해 할당 기법을 통해서 객체 역시도 분해가 가능하다. 아래 코드를 통해 기본 문법을 확인해보자. let {v1, v2} = {v1:..., v2:...} 할당 연산자 우측엔 분해하고자 하는 객체가 있으며 좌측엔 상응하는 객체 프로퍼티의 Patter을 넣는다. 말이 어려울 수 있으니 아래 예제 코드를 통해 조금 더 쉽게 알아보도록 하자. let book = { 'title': '디자인패턴', 'author': 'GoF', 'pr..

    구조 분해 할당(Destructuring Assignment) - 배열편

    구조 분해 할당(Destructuring Assignment) - 배열편

    우리는 Javascript로 개발하면서 객체와 배열이라는 자료구조를 가장 많이 사용한다. 키를 가진 데이터 여러개를 하나의 Entity에 저장할 때에는 객체를, Collection에 데이터를 순서대로 저장할 땐 배열을 사용한다. 개발을 하다 보면 객체나 배열을 파라미터로 전달해야 하는 경우가 생기곤 하는데, 때로는 객체나 배열에 저장된 데이터 전체가 아닌 일부만 필요한 경우가 생기기도 한다. 이럴 때 객체나 배열을 변수로 분해할 수 있게 해주는 특별한 문법이 구조 분해 할당(Destructuring Assignment)이다. 이 외에도 함수의 매개변수가 많거나 매개변수 기본 값이 필요한 경우 등에서 구조 분해 문법은 유용하게 활용된다. 구조 분해 할당 (Destructuring Assignment) 구조..

    타입스크립트로 프로젝트를 시작하기 (Begin Typescript Project)

    타입스크립트로 프로젝트를 시작하기 (Begin Typescript Project)

    해당 포스팅은 아래의 기본적인 세팅은 되었다는 가정하에 작성합니다. NodeJS, NPM, TypeScript Compiler(tsc), ts-node, Visual Studio Code 타입 스크립트 프로젝트 만들기 타입스크립트로 개발할때는, Nodejs 프로젝트를 생성한 뒤, 개발 언어를 타입스크립트로 설정하는 형태로 진행한다. Nodejs 프로젝트를 생성하는 방식은 폴더를 하나 만들고, 해당 디렉토리에 package.json 파일을 만드는 것으로 시작한다. 보통 package.json 파일은 터미널에서 npm init 명령어로 생성한다. > mkdir project-typescript > cd project-typescript > npm init --y Wrote to /Users/soopiri/w..

    콜백지옥 (Callback Hell)과 비동기(async) 처리

    콜백지옥 (Callback Hell)과 비동기(async) 처리

    콜백 지옥 (Callback Hell) 콜백지옥이란, 콜백 함수를 익명 함수로 전달하는 과정이 반복되면서 코드 Depth가 알아보기 힘들만큼 깊어지는 상황을 이야기한다. 보통 EventHandler나 비동기 처리를 수행할 때 이런 형태가 많이 반복될 때가 있는데, 코드 Depth가 많이 길어지게 되고 가독성이 떨어지면서 수정하기도 두려운 상태가 된다. 아래의 코드를 통해 콜백 지옥을 맛보도록 하자. (a.k.a 앱등이 콜백지옥) setTimeout( (product) => { let appleProducts = product; console.log(appleProducts); setTimeout( (product) => { appleProducts += ", " + product; console.log(..

    호이스팅(Hoisting)을 쉽게 알아보자

    호이스팅(Hoisting)을 쉽게 알아보자

    let, var의 차이점에 대해 설명하실 수 있으신가요? Javascript의 호이스팅에 대해 설명하실 수 있나요? 개발자(특히 웹개발자) 면접에서 거의 단골 손님으로 등장하는 개념이다. Javascript를 사용하면서 너무나도 당연하게 사용해왔고 가끔씩은 개념을 모른 상태에서 경험했던 적도 있는 그런 개념이다. 이 글을 읽고 있는 여러분들이 만약 면접에서 이런 질문을 받게 된다면, 당황하지 말고 잘 답변할 수 있도록 내용을 쉽게 정리해보려 한다. Javascript를 통해 개발을 했던 사람들이라면, Javsciprt에서 변수를 선언하는 방법은 const, let ,var 세 가지가 있다는 것은 잘 알고 있을 것이다. 위 세가지를 간단하게 살펴보고 가자 Javascript 변수 선언 방식 var 중복 선..