13주차 (1)

function solution(a, b) {
var answer = 0; // 초기값을 0으로 설정
for (var i = 0; i < a.length; i++) {
answer += a[i] * b[i]; // 내적 계산
}
return answer; // 결과 반환
}
<핵심>
answer += a [i] * b [i];
answer += 는 답에 += (더한다) 이므로 a[i] * b [i]; 한 값을 answer에 더합니다
TypeScript에 대해서 처음 배워보는데 잘하면 너무 좋을 거 같지만 익숙해지는 데는 조금 시간이 걸릴 것 같고 기초가 탄탄해야 활용도를 최대로 끌어올릴 수 있는 것 같아서 기초공부를 다시 해야 하나 싶습니다.. ㅠㅠ
ts에 대해서 배우고 이에대한 요약입니다.
JavaScript의 출현과 발전
JavaScript는 웹 페이지에 동적인 효과를 주기 위해 개발된 스크립트 언어로, HTML과 CSS와 함께 사용됩니다. 구글의 V8 엔진이 JavaScript의 성능을 높여주었고, 이를 바탕으로 Node.js가 등장하여 서버 사이드 개발이 가능해졌습니다.
Node.js의 위험성
프론트엔드의 에러는 주로 뷰의 일관성을 해칠 수 있지만, 백엔드의 에러는 서버 다운을 초래할 수 있습니다. JavaScript의 동적 타입 특성으로 인해 개발자가 실수할 가능성이 높아지는 문제가 있습니다.
JavaScript의 약점
실행 시간에 결정되는 변수 타입: 잘못된 타입의 값 할당으로 오류가 발생할 수 있습니다.
약한 타입 체크: 변수 타입 변화가 자유로워 예기치 못한 동작이 발생할 수 있습니다.
유연한 객체: 객체의 성질을 쉽게 변경할 수 있어 실수로 인한 오류가 발생할 가능성이 있습니다.
TypeScript의 등장
TypeScript는 Microsoft에서 개발한 오픈 소스 언어로, JavaScript의 모든 기능을 포함하고 추가적인 기능을 제공합니다. JavaScript의 단점을 보완하기 위해 설계되었으며, 특히 실행 시간의 변수 타입 결정, 약한 타입 체크, 객체의 유연성을 해결하는 데 중점을 둡니다.
TypeScript의 장점과 필요성
TypeScript의 장점:
즉시 에러 메시지:
정의되지 않은 프로퍼티를 사용할 때 NaN 오류를 미연에 방지합니다.
객체 지향 프로그래밍(OOP):
접근 제어자를 통해 프로퍼티 캡슐화를 보장하고, 직접 접근을 제한하여 데이터 보호가 가능합니다.
외부 모듈 타입 정보 제공:
d.ts 확장자를 가진 선언 파일을 통해 외부 모듈의 타입 정보를 제공하여 안전한 라이브러리 사용이 가능합니다.
TypeScript의 필요성:
취업 시장에서 필수 기술 스택: TypeScript의 수요가 증가하여 프런트엔드 및 백엔드 개발에서 필수 요소로 자리 잡고 있습니다.
JavaScript에서 TypeScript로 전환 추세:
기존 JavaScript 프로젝트를 TypeScript로 전환하는 흐름이 강해지고 있습니다.
생산성 및 안정성 향상:
TypeScript는 코드의 안정성과 가독성을 높여 개발 및 유지 보수 과정에서 효율적입니다.
고급 프로그래밍 개념 학습:
정적 타입 시스템, 객체 지향 프로그래밍, 디자인 패턴 등 다양한 개념을 배울 수 있어 전문성 있는 개발자로 성장할 수 있습니다.
테스트 코드 감소:
TypeScript는 안정성을 제공하여 비즈니스 로직 작성에 집중할 수 있게 해주고, 테스트 코드의 필요성을 줄입니다.