[JS-DEEPDIVE] - CHAPTER 03 - 04 [변수]

·2024년 4월 29일
0

JS-DEEPDIVE

목록 보기
2/2
post-thumbnail

브라우저 vs Node.js

  • 브라우저: 웹 페이지를 렌더링하고 사용자와 상호작용하는 환경입니다.
  • Node.js: 브라우저 외부에서 자바스크립트를 실행할 수 있는 환경입니다.

브라우저와 Node.js는 다음과 같은 차이점을 가집니다

  • DOM(Document Object Model) API, BOM(Browser Object Model) API는 브라우저에서만 사용 가능합니다.
  • 파일 시스템 접근, 네트워크 요청, 운영체제와의 상호작용 기능은 Node.js에서만 사용할 수 있습니다.

변수

  • 변수는 데이터를 저장하는 메모리 공간을 의미합니다. 변수의 필요성:
    • 데이터를 재사용하기 위해
    • 데이터를 식별하기 위해
    • 데이터를 저장하기 위해

변수의 예시

  • 예를 들어, 10 + 20을 계산하는 경우:
    • 데이터: 10, 20
    • 연산자: +
    • 재사용 가능하도록 변수에 저장:
      let x = 10;
      let y = 20;
      let z = x + y;
    • 변수 x, y, z를 통해 데이터를 쉽게 식별하고 재사용할 수 있습니다.

변수 선언

  • JavaScript에서 변수 선언
    • ES5: var 키워드 사용
    • ES6: let, const 키워드 사용

var vs let vs const

  • 문제점과 개선
    • var 키워드의 문제점: 중복 선언 허용, 함수 스코프, 호이스팅, 전역 객체와의 연결
    • let, const의 도입: var의 문제점을 해결하기 위해 ES6에서 도입
구분varletconst
변수 재선언가능불가능불가능
변수 재할당가능가능불가능
스코프함수 스코프블록 스코프블록 스코프

변수 호이스팅

  • 변수 호이스팅: 변수 선언문이 코드의 선두로 끌어올려진 것처럼 동작하는 현상

    console.log(x); // undefined
    var x = 10;
    	- 변수 `x`는 선언 전에 참조되지만 `undefined`로 출력되는 이유는 호이스팅 때문
  • 실제 코드 실행 순서
    var x;
    console.log(x); // undefined
    x = 10;

hoisting


네이밍 컨벤션

정의

소스 코드와 문서에 있는 변수 이름, 타입, 함수 등의 식별자에 사용되는 문자열을 선택하기 위한 여러가지 규칙

네이밍 컨벤션은 왜 지켜야할까?

  1. 가독성 향상: 코드 내에서 변수나 함수의 역할이 명확하게 이해될 수 있도록 돕습니다.
  2. 유지 보수 용이성: 일관된 네이밍 규칙은 코드 수정 및 확장을 간소화합니다.
  • 카멜 케이스(camelCase): camelCase, myName, userName

  • 스네이크 케이스(snake_case): snake_case, my_name

  • 파스칼 케이스(PascalCase): PascalCase, MyName, UserName

  • 헝가리안 표기법(Hungarian Notation): strName, numAge, isFlag

  • 일반적으로 변수나 함수명은 카멜케이스를 사용하고, 클래스명은 파스칼케이스를 사용합니다.
  • Boolean 타입의 변수명은 isOOO로 시작하는 것이 일반적이라고합니다 !
profile
기억보단 기록을

0개의 댓글