[TIL] 자바스크립트 기초 (8일차)

배고픈 배극곰·2023년 12월 24일
0

학습내용


원시타입 vs 객체

원시타입(★불변성, 데이터의 신뢰성 보장)

  • 메모리에 실제값 저장
  • 값에 의한 전달 (원시 값이 복사되어 전달)

객체(프로퍼티 접근을 위해 히든클래스 방식)

  • 메모리에 주소값 저장
  • 참조에 의한 전달 (원본의 주소값이 복사되어 전달된다.)
  • 두 개의 식별자가 하나의 객체 공유 가능.

함수와 메서드

함수
사용이유 - 코드의 재사용성, 유지보수성, 가독성
JS에서 함수는 일급 객체다

메서드: 프로퍼티 값이 함수인 경우를 메서드라고 함

함수선언문과 함수표현식

함수선언문
=> 함수 선언문의 경우 JS엔진이 생성된 함수를 호출하기 위해 함수 이름과 동일한 식별자를 암묵적으로 생성하여 함수객체에 접근하고 호출할 수 있음.
(JavaScript 엔진은 함수 선언문에서 함수 이름과 동일한 식별자를 전역 스코프에 추가적으로 만들어 함수 객체를 할당.)

함수표현식 (함수 리터럴)

  • 자바스크립트에서 함수는 일급객체라는 특성을 이용하여 함수 리터럴 방식으로 함수를 정의.

  • 변수에 할당 가능.

  • 기명보다는 익명함수 즉, 함수명을 생략하는게 일반적임.

cf. https://baegopeun-sj.tistory.com/53


null vs undefined

  • 무엇인가가 초기화되지 않음 => undefined
  • 무엇인가를 초기화한후 의도적으로 null값 할당. => null
    ※ null을 사용하지 않는 것이 바람직하다고 함.
    null대신 undefined 사용하자. -더글락스 크록포드-

localStorage

브라우저 환경에서만 동작한다. (Node.js환경에서 동작X)

  • 브라우저가 제공하는 기능이기 때문에. (클라이언트 측 데이터 저장과 관리를 위해)
  • 브라우저의 도메인과 연결되는데, 이는 다른 도메인에서 접근하지 못하도록 하는 그런 보안적인 문제때문에.

실행 컨텍스트

블로그 참고
https://baegopeun-sj.tistory.com/26

profile
마부작침 형설지공

0개의 댓글