오늘의 JS 사전2

Jetom·2024년 6월 29일
0

개념정리(js)

목록 보기
18/20
post-thumbnail
post-custom-banner

오늘은 어떤 내용을 적을까 고민하다가 책에서 나온 용어를 정리하는게 좋겠다싶어서 정리 바아로 들어간다. 여러 번 읽고 노션에 책 정리도 해야한다! 아이고 바쁘다 바빠 현대인 사회 🏃‍♀️‍➡️


실행 컨텍스트

  • 실행할 코드에 제공할 환경 정보들을 모아놓은 객체
  • 실행 컨텍스트 안엔 variable environment와 lexical environment가 있음
    • 객체인 이유?
      • 실행 컨텍스트가 특정한 구조와 속성들을 포함하는 데이터 덩어리로서 동작

절차적 프로그래밍 패러다임

  • 코드가 톱다운(top-down)이면서 선형적(linear)으로 구조화되는데, 이때 프로시저(procedure)라 불리는 코드 단위에 미리 정해진 일련의 연산을 작성
    • 프로시저(procedure)란 ?
      • 한 번 이상 호출할 수 있고, 입력값이 있을 수 있으며 하나 이상의 출력값을 반환하는 구문의 모음

🤔 책에서 나온 프로시저의 개념은 함수와 비슷하게 이야기하는데, 구글 검색에서 나오는 프로시저는 db 관련된 개념이 나와서 해당 개념은 멘토님께 질문했다.(추후 수정의 가능성이 있음!)

객체 지향 프로그래밍 패러다임

  • 클래스 기준으로 코드를 구조화하며, 클래스에는 로직과 데이터가 정의

함수형 프로그래밍 패러다임

  • 코드를 함수 단위로 구조화함. 이때 함수는 (절차적 프로그래밍의 함수와는 달리) 부수 효과가 없는 순수 함수입니다. 또한 함수 자체가 값으로 취급된다는 특징이 있다.

💡js는 절차, 클래식, 함수형 모두 쓸 수 있는 다중 패러다임 언어!

함수 스코프

  • 함수 스코프는 함수 내부에 정의된 변수들이 함수 전체에서 접근 가능함
  • var로 선언된 변수에만 한함
function foo() {
    var x = 10;
    if (true) {
        var y = 20;
        console.log(x); // 10
    }
    console.log(y); // 20 (블록 바깥에서도 접근 가능)
}
foo();

블록 스코프

  • 블록 스코프는 중괄호 {}로 감싸진 코드 블록 내부에서만 변수가 유효함
  • let, const로 선언된 변수에만 한함
function bar() {
    let a = 10;
    if (true) {
        let b = 20;
        console.log(a); // 10
    }
    console.log(b); // ReferenceError: b is not defined
}
bar();
profile
사람이 좋은 인간 리트리버 신혜리입니다🐶
post-custom-banner

0개의 댓글