본문 바로가기

분류 전체보기61

피드백 반영 업데이트 - 메뉴 등록 화면 개선 안녕하세요. 이번 주에는 사이드 프로젝트 '오늘 뭐 먹지?'를 오픈하고 주변 분들께 피드백을 받는 시간을 가졌습니다. 오늘은 피드백 사항 중, 메뉴 등록 화면의 불편 사항을 개선하는 업데이트를 진행하는 과정을 담아보려고 합니다. 피드백 사항 등록하기 화면에서 엔터를 누를 시 무조건 폼 제출이 되어서 불편했어요. (음식점 검색 인풋이 포커스되었을 때는 엔터했을 때 음식점을 검색하게 하는 건 어떨까요?) 음식점을 검색하고 지정하는 과정이 힘들었어요. (음식점을 검색했을 때 지도 영역 주변에 모든 검색 정보를 리스트로 보여주고 클릭 시 해당되는 마커를 선택할 수 있는 영역이 있으면 좋겠어요) 일부 음식점이 검색 시 나오지 않아서 불편했어요. (음식점 검색을 전반적으로 자동 완성 + 수동 지정을 할 수 있으면 .. 2022. 7. 4.
09. 타입 변환과 단축 평가 모든 값에는 타입이 있다. 값의 타입을 개발자가 의도적으로 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅이라고 한다. 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되는 것을 암묵적 타입 변환, 타입 강제 변환이라고 한다. 자바스크립트의 원시 값은 변경이 불가능하다. 타입 변환이란 기존 원시 값을 변경하지 않고, 일시적으로 값을 사용해 다른 타입의 새로운 원시 값을 생성하는 것이다. 따라서 부수 효과는 없다. 암묵적 타입 변환이 일어나는 이유는 표현식을 가급적 에러 없이 평가하기 위해서다. 자바스크립트 엔진은 코드의 문맥에 따라 피연산자의 값을 암묵적 타입 변환하여 새로운 타입의 값을 만들어 한번 사용하고 버린다. 개발자의 의도가 명확히 드러나.. 2022. 7. 1.
08. 제어문 제어문은 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용한다. 일반적으로 코드는 위에서 아래 방향으로 순차적으로 실행된다. 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다. 하지만 코드의 실행 순서가 변경된다는 것은 직관적인 코드의 흐름을 혼란스럽게 만든다. 함수형 프로그래밍 기법에서는 고차 함수를 적극 사용하여 제어문의 사용을 억제하여 복잡성을 해결하려고 노력한다. 자바스크립트에서도 여러가지 편리한 고차 함수를 제공하고 있다. 대표적으로 forEach, map, filter 등이 있다. 블록문 블록문은 0개 이상의 문을 중괄호로 묶은 것으로, 자바스크립트는 블록문을 하나의 실행 단위로 취급한다. 블록문은 단독으로 사용할 수도 있으나 일반적으로 제어문이나 함수를 정의할 때 사용한.. 2022. 7. 1.
07. 연산자 연산자는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값(표현식)을 만든다. 이때 연산자의 대상을 피연산자라 한다. 자바스크립트가 제공하는 다양한 연산자에 대해 살펴보자. 산술 연산자 산술 연산자는 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만든다. 산술 연산이 불가능한 경우, NaN을 반환한다. 산술 연산자는 피연산자의 개수에 따라 이항 산술 연산자와 단항 산술 연산자로 구분할 수 있다. 이항 산술 연산자 이항 산술 연산자는 2개의 피연산자를 산술 연산하여 숫자 값을 만든다. 모든 이항 산술 연산자는 피연산자의 값을 변경하는 부수 효과가 없다. 다시 말해, 어떤 산술 연산을 해도 피연산자의 값이 바뀌는 경우는 없고 언제나 새로운 값을 .. 2022. 7. 1.
06. 데이터 타입 데이터 타입은 값의 종류를 말한다. 자바스크립트의 모든 값은 데이터 타입을 갖는다. 자바스크립트는 7개의 데이터 타입을 제공한다. 이는 크게 원시 타입과 객체 타입으로 분류할 수 있다. 구분 데이터 타입 설명 원시 타입 숫자 숫자, 정수와 실수 구분 없이 하나의 숫자 타입만 존재. 산술 연산의 대상이 됨 문자열 문자열. 텍스트를 화면에 출력하기 위해 생성 불리언 논리적 참과 거짓 undefined var 키워드로 선언된 변수에 암묵적으로 할당되는 값 null 값이 없다는 것을 의도적으로 명시할 때 사용하는 값 심벌 ES6에서 추가된 7번째 타입. 다른 값과 중복되지 않는 유일한 값. 이름 충돌이 없는 유일한 프로퍼티 키 만들기 위해 도입됨 객체 타입 객체, 함수, 배열 등 숫자 타입 ECMAScript .. 2022. 6. 30.
05. 표현식과 문 값 값은 표현식이 평가되어 생성된 결과를 말한다. 평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다. 모든 값은 데이터 타입을 가지며 메모리에 2진수로 저장된다. 메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있기 때문에 데이터 타입을 기억할 필요가 있다. 리터럴 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법으로, 값을 생성하기 위해 미리 약속한 표기법이라고 할 수 있다. 자바스크립트 엔진은 소스코드의 실행 단계에서 리터럴을 평가해 값을 생성한다. 정수, 문자열, 객체 등 다양한 종류의 값을 생성할 수 있다. 표현식 표현식은 값으로 평가될 수 있는 문이다. 즉, 표현식이 평가되면 새로운 값을 생성하거나 값을 참조한다. 리터럴은 값으로 평가되기.. 2022. 6. 30.