JavaScript 6

TypeScript, 왜 써야되나?? (feat. 장단점)

JavaScript가 es6로 바뀌면서 큰 인기를 끌기 시작했습니다. 또한, Node.js로 할 수 있는 것들이 점점 많아졌으며, 지금도 많아지고 있습니다. 처음에는 웹에서 사용하기 위한 스크립트 언어로 활용되다가 점점 백엔드 언어로서 Node.js가 자리를 잡기 시작했고, Angular.js, Vue.js, React.js 처럼 JS 기반 웹 프레임워크가 생기기도 하고, jsx를 활용하여 JS 기반 프레임워크인 React로 앱까지도 만들 수 있게 되면서 점점 JavaScript를 사용하는 프로젝트가 늘어나기 시작했습니다. 그래서 만들어진 TypeScript JavaScript 의 장점은 일반적인 C, Java처럼 자료형이 존재하지 않는 개념입니다. 물론, 어느정도 잡히기는 하지만 프로젝트 단위에서는 추..

개발/TypeScript 2020.01.20

JavaScirpt, 비동기 처리의 모든 것

JavaScript에서는 비동기를 처리하는 것이 아주 중요합니다. 비동기라는 개념이 중요한 만큼 이를 처리하는 것도 중요할테죠. 그럼 이 비동기 함수를 처리하는 방법에 대해 알아봅시다. Callback Function 비동기에서 콜백 함수라는 말을 많이 들어보았을 껍니다. 도대체 콜백함수가 뭐냐, 다른 함수의 작업이 끝난 후 실행되는 함수를 말합니다. 함수는 JavaScript에서 객체이기 때문에 함수를 인자로 사용하거나 반환값으로 사용할 수 있습니다. 여기서 인자로 전해지는 모든 함수들을 콜백함수라고 합니다. function callWithMyName(callback) { callback('IMRaccoon'); } function testFunction() { var hello = 'Hello'; c..

개발/JavaScript 2020.01.01

JavaScript, 비동기??

비동기는 JavaScript 에서 빼놓을 수 없는 개념입니다. 그럼 비동기가 무엇이냐 한 번 살펴보겠습니다. JavaScript 에서의 비동기 JavaScript는 기본적으로 single-thread 언어입니다. 하나의 thread에서 실행되는 언어라는 뜻입니다. 이 말은 곧, JavaScript 엔진은 한 번에 하나의 명령문을 실행 한다는 의미입니다. single-thread 일 경우에 동시성 문제(ex. race-condition)들을 고려해 줄 필요가 없어 코드가 단순하지만, 네트워크 엑세스처럼 상대적으로 오래 걸리는 작업을 메인 스레드에서 수행할 수 없다는 의미기도 합니다. 만약 본인이 운영하는 웹 서버에서 API를 통해 데이터를 요청하는 일을 할 때, 요청을 처리하는데 시간이 오래 걸린다면 메..

개발/JavaScript 2020.01.01

JavaScript, 깔끔하게 코드 짜보기

깔끔하게 코드를 짠다는 매우 주관적인 생각입니다. 하지만 대부분과 동일하게, 저에게 클린 코드는 간결 하고, 직관적 이며, 안전한 코드 입니다. 즉, 짧고, 읽기 좋고, 오류가 나지 않는 코드입니다. 뭐 당연한 이유겠지만 굳이 이런 코드를 만드는 이유를 하나하나 짚어 보고 넘어 가겠습니다. 1. 짧은 코드 타인의 코드를 읽는 것은 매우 힘든 일입니다. 코드에는 그 사람의 성격, 성향이 녹아져 들어갑니다. 강제로 본인과 맞지 않는 코드를 보는 것은 지루하며 효율이 무척 떨어지는 일입니다. 그렇기 때문에 더욱 간결한 코드가 필요한 이유입니다. 2.읽기 좋은 코드 읽기 좋은 코드에는 구조가 한눈에 보이는 것과 함수 또는 변수가 어떤 역할을 수행하는 지가 타인이 보기에도 명확한 것입니다. 또한, 엄청 짧은 코드..

개발/JavaScript 2019.12.23

JavaScript, ES5 부터 근황까지

JavaScript는 ECMAScript를 토대삼아 만들어진 언어입니다. ECMAScript는 1997년 6월, ES1 이라는 이름을 달고 태어나 2009년 12월에 ES5 까지 자리를 잡았었습니다. 현재 2019. 12. 17 기준으로 ESMAScript 2020 이 출시가 되었습니다. 그럼 ES5 부터 ES2020 까지의 주요 특징들을 확인해보겠습니다. ES5 (2009) 주요 변화 "use strict" Array 에 대한 forEach, map, filter, reduce, some, every 함수 지원 Object 에 대한 getter / setter 지원 JSON 지원 "use strict" JavaScript 를 사용할 때에 strict 하게 오류를 잡아주는 방식입니다. 이는 자유로운 Ja..

개발/JavaScript 2019.12.18

JavaScript, 무엇인가?

중, 고등학교 때 컴퓨터를 제대로 배워본 적이 없이 컴퓨터 공학과에 들어온 학생들의 대다수는 코딩을 제대로 할 줄 모르는 게 현실입니다. 저도 그렇구요. 그래서 접하기 가장 쉬우면서 실습해보기도 쉬운 JavaScript 에 대해 다뤄보려고 합니다. 주의. Java와 JavaScript는 Oracle에서 등록한 상표이지만, 문법 체계와 사용 방법은 전혀 다릅니다. JavaScript 의 개념 개념적인 부분이기 때문에 참고 정도로만 읽어보아도 좋습니다. JavaScript(이하 JS) 는 가벼운 인터프리터 언어이며, 일급 함수를 지원합니다. 여기서 일급 함수란 함수를 변수와 동일하게 다루는 언어의 특성을 일컫습니다. 일급 함수에 대한 특징은 다음에 구체적으로 다뤄보겠습니다. const foo = functi..

개발/JavaScript 2019.12.17