본문 바로가기

코드잇 스프린트 6기41

[12주차] 위클리 페이퍼 최종 수정 : 2024-05-25Q. JavaScript만 사용하는 것과 비교해 TypeScript를 사용하는 이유에 대해 설명해 주세요.자바스크립트의 한계를 극복한다.1) 런타임 오류JS는 인터프리티 언어이기에 소스 코드를 한 줄씩 읽어나가면서 실행한다. 다시 말해, 코드를 실행하기 전에 코드가 올바른지 검사하지 않기 때문에 발생하는 오류인 것이다. 안정성이 떨어지는 이유중 하나이다. 이점에 대해, 타입스크립트는 점진적 타입 시스템인 까닭에 부분적으로 타입을 지정한 코드에 대해 타입 검사를 마친 후 프로그램을 실행할 수 있다. 따라서 런타임 에러가 발생하는 부분을 조금씩 줄여나갈 수 있다. 2) 동적 타입 언어자유롭게 사용할 수 있다는 장점은 있지만 실수 가능성이 늘어난다. 자동 형변환이 발생하여 타입.. 2024. 5. 25.
TypeScript 스터디 모집 글 최종 작성 : 2024-05-24JS Q.R모임에 이어 TypeScript 모임을 시작합니다.2달간의 모임 시작에 앞서 정리 및 공유를 위해 글을 작성합니다. TS_Study Together 모임은 1부와 2부로 구성되어 있는 모임입니다. 1부에서는 '타입' 그 자체에 대한 이해를 위한 시간을 가질 예정입니다. 또한, 추가적으로 공부가 필요하다면 '이펙티브 타입스크립트' 혹은 다른 도서들을 참고하여 공부를 진행해 나가시면 됩니다. 2부에서는 지난 JS Q.R 모임의 경험에 근거해 구성된 파트입니다. 프로젝트 기간에는 "사실상 모임을 위한 준비시간이 줄어들 수 밖에 없다"는 현실적인 피드백과 경험을 반영하였습니다. 이번 파트3 커리큘럼과 상당히 비슷한 프로그램을 만드는 도서를 통해, 학습의 부담도 줄이고 .. 2024. 5. 19.
[JS Q.R] 7번째 온라인 모임 일시 : 2024-05-17(목)참여인원 5명 1. 클로저에 대한 정의를 설명해주시고, 사용하는 이유와 리액트에서의 용례를 얘기해주세요.클로저(closure)란 "함수가 자유 변수에 대해 닫혀있다(closed)"라는 의미이다. 다시 말해, 클로저는 상태(state)를 안전하게 변경하고 유지하기 위해 사용한다고 말할 수 있다. 따라서 상태를 안전하게 은닉하고 특정 함수에게만 상태 변경을 허용하기 위해 사용한다. 그 이유는 값에 대해 예측가능해야 하고, 의도하지 않은 변경을 걱정할 필요를 줄여 안정적인 프로그래밍을 하기 위함이다. 리액트에서의 상태 변경은 재렌더링과 연관이 깊다. 상태가 변하거나 부모의 상태가 변하면 재렌더링이 발생한다. 따라서 특정 함수에서만 상태를 변경할 수 있도록 만들어야 한다. 대표적.. 2024. 5. 17.
[JS Q.R] 8번째 온라인 모임 모임 일시 : 2024-05-09, 17시참여 인원 : 5명 1. 일반 객체와 일급 객체를 비교하여 설명해주세요.일반 객체는 호출할 수 없지만 함수는 호출할 수 있다. 함수는 객체 타입의 값이다. 즉, 값처럼 변수에 할당할 수도 있고 프로퍼티 값이 될 수도 있으며 배열의 요소가 될 수도 있다. 이처럼 값의 성질을 갖는 객체를 일급 객체라고 한다. 자바스크립트의 함수는 일반 객체와 달리 값으로 사용될 수 있는 일급 객체로써 구별된다.  함수는 일급 객체이므로 함수 리터럴로 생성한 함수 객체를 변수에 할당할 수 있다. 이러한 함수 정의 방식을 함수 표현식이라고 한다. 이때 함수 이름은 생략할 수 있는데, 이를 익명 함수라고 한다. 함수는 함수 이름이 아닌 식별자로 호출하므로, 익명함수 또한 호출할 수 있다... 2024. 5. 9.
[JS Q.R] 7번째 온라인 모임 질문 작성 : 2024-05-06 17시 온라인 모임(참여 인원 : 5명) 1. 객체의 특성을 설명해주시고, 객체 변경 방지 방법들의 차이점과 이들의 한계에 대한 해결방법을 함께 얘기해주세요.객체는 변경 가능한 값이므로 재할당 없이 직접 변경할 수 있다. 즉 프로퍼티를 동적으로 추가하거나 삭제 및 갱신할 수 있다. 이런 객체의 특성으로 인해 프로퍼티 어트리뷰트 즉, 객체의 상태 역시 재정의할 수 있다. 그러나 객체의 값과 상태가 자주 변경되는 것은 안정성의 이유에서 좋지 않다. 그렇기에 객체의 변경을 방지하는 메서드(preventExtensions, seal, freeze)가 존재한다. Object.preventExtensions 메서드는 객체의 확장을 금지한다. 즉, 프로퍼티를 동적으로 추가하는 것이 .. 2024. 5. 6.