JavaScript

266 posts
[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가 출력이 됩니다! 첫 개발

[자바스크립트] var를 사용할 때 발생하는 문제들

[자바스크립트] var를 사용할 때 발생하는 문제들

많은 자바스크립트 강좌에서 가급적 var 대신에 let이나 const 키워드를 사용하여 변수를 선언하라고 가이드하고 있는데요. 본 포스팅에서는 var의 어떤 문제점 때문에 그런건지 알아보도록 하겠습니다. 아리송한 코드 먼저 다음 코드를 살펴보도록 하겠습니다. 무엇이 출력이 될지 예상이 되시나요? 첫번째 console.log(n)에서 오류가 발생할 것 같기도 하고, 1과 2가 출력될 것 같기도 한데요. 의외로 정답은 다음과 같습니다. 왜 이런 예상치못한 결과가 얻어지는 걸까요? 원인은 var 키워드를 사용할 경우, 변수 Hoistin

자바스크립트 배열 기본 사용법

자바스크립트 배열 기본 사용법

배열을 사용하는 이유? 3개의 과일 이름을 변수에 저장하려면 다음과 같이 3개의 변수를 사용할 것이다. 하지만 만약에 저장한 과일 이름이 300개라면? 위와 같이 일일이 하나 하나의 변수에 저장하기 힘들 것이다. 배열을 이용하면 하나의 변수에 여러 가지 값을 저장할 수 있고, 색인(Index)을 통해 이 값에 접근할 수 있다. 새로운 배열 생성 하기 기본적으로 대괄호 기호인 배열 리터럴(literal)을 이용해서 배열을 생성한다. 배열 리터럴 내에서는 공백이나 줄바꿈은 중요하지 않으므로 각 엘리먼트의 길이기 길 경우 가독성을 위해

TypeScript 입문: JavaScript에 타입이 필요한 이유

TypeScript 입문: JavaScript에 타입이 필요한 이유

JavaScript로 작은 프로그램을 만들 때는 타입을 크게 의식하지 않아도 됩니다. 변수에 문자열을 넣었다가 숫자를 넣을 수도 있고, 함수에 어떤 값을 넘기든 일단 실행은 되니까요. 문제는 프로그램이 커진 뒤에 시작됩니다. formatPrice()는 숫자를 기대하지만 문자열을 받았습니다. JavaScript는 해당 줄을 실행한 뒤에야 toFixed is not a function이라는 오류를 냅니다. 이 함수가 주문 화면 깊숙한 곳에서만 호출된다면 배포 전에 문제를 발견하지 못할 수도 있겠죠. 💥 TypeScript는 이런 실수

Discord