JS & TS/JavaScript

[JavaScript] Javascript란?

Bay Im 2024. 2. 8. 10:31
  • JavaScript
    • HTML, CSS와 함께 웹을 구성하는 요소 중 하나 인 스크립트 언어
    • 웹 페이지에서 동작하는 것을 담당한다.
  • parameter, argument
    • argument(인자)
      • 어떤 함수가 호출될 때 전달하는 값
    • parameter(매개변수)
      • 전달된 값을 받아들이는 변수
  • primitive(call-by-value) vs object(call-by-reference)
    • call by value
      • 값에 의한 호출 (값을 복사)
      • 숫자, 문자열, boolean, null, undefined 같은 기본형(원시형)을 인자로 매개변수에게 넘길 때 사용 방식
      • 값을 복사, 보존. 하지만 메모리 사용량 늘어남
    • call by reference
      • 참조에 의한 호출 (주소를 복사)
      • 배열, 객체, 함수, 날짜, 정규표현식 같은 참조형 데이터의 주소값을 인자로 매개변수에게 넘길 때 사용 방식
      • 값 복사말고 직접 참조해서 빠름. 하지만 참조기 때문에 값의 영향 (리스크)
  • JavaScript에서 primitive(call-by-value) vs object(call-by-reference)
    • call by value
      • JS는 원시데이터(숫자, 문자 등)에서 사용 (let)
    • call by reference
      • JS는 객체에서 사용 (const)
  • Primitive(원시) Type
    • 숫자(Number, BigInt)
      • number인 123과 bigint인 123n은 다르다! 덧셈 같은 계산도 안된다.(TypeError) 하지만 number + float는 계산 가능
      • string + bigint 계산 시 문자열 합하기로 되어져서 나온다.
    • 문자열(string)
      • ex) s = new String() ⇒ [string: ‘’]
    • boolean
    • undefined
    • null
      • type은 object
    • Symbol
      • Symbol은 unique, 안의 값이 같아도 일치 연산자로 비교 시 false 임.
      • new 생성 불가
  • Object(객체)/Reference(참조) Type
    • 객체({}, instance 객체)
      • 빈 객체 선언은 new Object(), {} 으로 선언
    • 함수(function object)
      • key와 value의 한 쌍을 프로퍼티라고 하고, function 안에 있으면 프로퍼티가 있으면 function 프로퍼티라고 한다.
      • 만약 프로퍼티가 없는 function이면 method라고 한다.
    • 배열([], Array)
    • RegExp Set/WeakSet
    • Map/WeakMap
    • Date
728x90