Web/모던 자바스크립트 Deep Dive

[모던 자바스크립트 Deep Dive] 01. 프로그래밍

동띵 2023. 7. 18. 17:49

프로그래밍이란?


  • 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션
  • 프로그래밍 전에 요구사항을 명확히 이해한 후 적절한 문제 해결 방안을 정의해야 됨 ⇒ 문제 해결 능력 필요
    • 요구사항을 명확히 이해하여 복잡함을 단순하게 분해
    • 자료를 정리하고 구분
    • 행위를 순서에 맞게 정함
  • 정확하고 상세하게 요구사항을 코드로 설명
  • 해결 과제를 작은 단위로 분해하고 패턴화해서 추출하며, 프로그래밍 내에서 사용될 모든 개념은 평가 가능하도록 정의

프로그래밍 언어


  • 기계어로 직접 명령을 전달하는 것 대신에 프로그래밍 언어를 사용해 프로그램 작성 후 컴파일러나 인터프리터를 사용해 컴퓨터가 번역할 수 있게 함
  • 프로그래밍 언어는 구문과 의미의 조합으로 표현됨 (syntax & semantics)

구문과 의미


// 문법적으로 문제가 없지만 의미적으로 옳지 않은 코드의 예
const number = 'string';
console.log(number * number) // NaN

프로그래밍 언어가 제공하는 것

  • 변수와 값, 키워드, 연산자, 표현식과 문, 조건문, 반복문에 의한 흐름제어
  • 함수
  • 자료구조인 객체, 배열 등

⇒ 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것이 프로그래밍