좋은 기회로 친구와 함께 마일스톤을 관리하는 프로젝트를 진행하게 되었다. 처음 하는 협업 프로젝트는 약 3개월 동안 진행될 예정이며 현재 2주간의 설계 단계를 마무리 했다. 소개 페이지 사용자의 업무, 개인적으로 진행해야 할 일정들을 보여주는 서비스를 제공하는 것이 마일스톤의 목적이다. 프로젝트의 주제를 선정하던 중 마일스톤의 수요는 꾸준하게 있었지만, 깔끔한 디자인의 마일스톤이 없었고, 새로운 기술들을 배우며 적용할 좋은 기회가 될거같아 프로젝트의 주제를 마일스톤으로 선정하게 되었다. 마일스톤의 표시는 총 3가지로 할 예정이다. 1. 기본 가장 흔히 보여지는 마일스톤의 형태로 일자별로 나타나는 막대모양의 일정을 보여준다. 2. 달력형 한달동안의 일정을 표시하는 형태이다. 3. 요약 일정 기간동안 시작전..
타입스크립트란? 1.TypeScript는 JavaScript에 추가적인 구문을 추가하여 editor와의 단단한 통합을 지원합니다. editor에서 초기에 오류를 잡을 수 있습니다. 2. TypeScript 코드는 JavaScript가 실행되는 모든 곳(브라우저, Node.js 또는 Deno 및 앱 등)에서 JavaScript로 변환될 수 있습니다. 3. TypeScript는 JavaScript를 이해하고 타입 추론(type inference)을 사용하여 추가 코드 없이도 훌륭한 도구를 제공합니다. 정적언어 (TypeScript, Java) : 컴파일 타임에 타입 결정 / 에러 발견 동적언어 (JavaScript) : 런타임에 타입 결정 / 에러 발견 타입스크립트의 기본적인 타입 타입 선언은 기본적으로 아..
문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 숫자영단어 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 s..
문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한 사항 s는 길이가 1 이상, 100이하인 스트링입니다. 문제 풀이 방법 주어진 문자열 s의 길이에서 절반을 나타내는 수를 선언한다. 홀수 길이라면 floor를 통해 내림수를 선언해준다. 홀수 짝수를 나누어 s.slice를 통해 해당 문자를 반환해준다. 내가 작성한 코드 const solution = (s) => { const half = Math.floor(s.length / 2); return (s.length % 2) === 0 ? s.slice(half - 1, half + 1) : s.slice(half, half + 1); }
호이스팅 정의 : 변수와 함수 선언문을 선언된 위치에서 코드의 꼭대기로 올리는 동작 호이스팅을 동작을 한번 코드를 보며 확인해보자. a = 2; var a; console.log(a); 위의 코드에서 var a 라는 변수 선언문이 있다. JS엔진은 코드를 인터프리팅 하기 전에 컴파일한다.(중요) 컴파일레이션 단계 중 모든 선언문을 찾아 적절한 스코프에 연결해주는 것이 렉시털 스코프의 핵심이다. 고로 위의 코드에서는 아래와 같은 구문으로 나누어진다. var a; a = 2; 첫번째 구문은 선언문으로 컴파일레이션 단계에서 처리되며, 두번째 구문은 대입문으로 실행 단계 까지 방치된다. 고로 코드는 다음과 같이 처리된다. var a; a = 2; console.log(a); 선언문만 끌어올리고 다른 대입문이나 ..
4. 스코프 역활을 하는 블록 JS에서 함수가 가장 보편적이고 널리 퍼진 디자인 접근법 이지만, 다른 스코프 단위도 존재하며 이를 이용하면 더 깔끔한 코드를 작성할 수 있다. 예를 들어 블록 스코프를 보자. JS는 지원하지 않지만 아래의 코드같은 모습은 많이 봤다. for(let i = 0; i < 10; i++){ ... } 변수 i를 for 반복문의 시작부에 선언하는 이유는 i를 오직 for 반복문과 관련해서 사용하려하기 때문이다. 블록 스코프의 목적은 변수를 최대한 사용처 가까이에서 최대한 작은 유효 범위를 갖도록 선언하는 것이다. 위의 코드에서는 그 목적을 제대로 반영하는 것 같다. 4.1. with with은 사용하게 되면 동작 속도가 저하되지만, 블록 스코프의 형태를 보여주는 한 예로 with..