TIL

자바스크립트 간단 요약 ver2

세모이 2022. 1. 29. 16:08
반응형

자바스크립트 개념 요약 ver2

타입 변환

타입변환 - 기존 원시 값을 사용해 다른 타입의 새로운 원시 값을 생성하는 것

명시적 타입 변환 - 개발자의 의도에 따라 다른 타입으로 변환

  • 문자열 타입으로 변환 - String(), toString(), 문자열 연결 연산자(+)
  • 숫자 타입으로 변환 - Number(), parseInt(), 산술연산자 이용
  • 불리언 타입으로 변환 - Boolean(), !!사용

암묵적 타입변환 - 표현식 평가 도중 자바스크립트에 엔진에 의해 암묵적으로 타입이 자동 변환

  • 문자열 타입으로 변환 - +연산자는 피연산자 중 하나 이상이 문자열이면 피연산사 중 문자열이 아닌 피연산자를 문자열 타입으로 암묵적 타입 변환

  • 숫자 타입으로 변환 - 자바스크립트 엔진은 산술 연산자 표현식을 평가하기 위해 피연산자 중 숫자 타입이 아닌 피연산자를 숫자 타입으로 암묵적 타입 변환

  • 불리언 타입으로 변환 - 자바스크립트 엔진은 논리적 참/거짓으로 평가되어야 하는 표현식일 때 truthy 값은 true로 falsy 값은 false로 암묵적 타입 변환

    단축평가 - 표현식을 평가하는 도중에 평가 결과가 확정된 경우 나머지 평가 과정을 생략하는 것

  • 논리 연산자를 사용한 단축 평가

    단축 평가 표현식 평가 결과
    true || anythingtrue
    false || anythinganything
    true && anythinganything
    false && anythingfalse



객체

객체 - 관련된 데이터와 함수(프로퍼티, 메소드)의 집합, 여러 속성(프로퍼티)을 하나의 변수에 저장할 수 있도록 해주며 key/value의 구조로 저장됨

프로토타입 - 자바스크립트의 모든 객체는 최소 하나 이상의 다른 객체로부터 상속을 받으며, 상속되는 정보를 제공하는 객체를 프로토타입이라 한다.

프로퍼티 - 객체는 프로퍼티의 집합이며, 프로퍼티는 키와 값으로 구성된다.

프로퍼티 접근 - 마침표 프로퍼퍼티 접근 연산자(.)을 사용하는 마침표 표기볍, 대괄호 프로퍼티 접근 연산자([])를 사용하는 대괄호 표기법

프로퍼티 값 갱신 - 이미 존재하는 프로퍼티에 값을 할당하면 프로퍼티 값이 갱신

프로퍼티 값 생성 - 존재하지 않는 프로퍼티 값을 할당하면 프로퍼티가 동적으로 생성되어 추가되고 프로퍼티 값이 생성

프로퍼티 값 삭제 - delete 연산자는 객체의 프로퍼티를 삭제



원시 값과 객체의 비교

원시 값

변경 불가능한 값 - 원시 타입 값은 재할당하면 메모리 공간에 저장되어 있는 원시 값을 변경하는 것이 아니라 새로운 메모리 공간을 확보하고 원시 값을 저장한 후 변수는 새롭게 저장한 원시 값을 가리킨다.
-> 메모리 공간의 주소가 동일한게 아니라 재할당시 메모리 주소가 변경된다

문자열과 불변성 - 문자열은 유사 배열 객체이면서 iterator 메소드를 가지고 있어 배열과 유사하게 각 문자에 접근이 가능하다.

값에 의한 전달 - 변수에 원시 값을 갖는 변수를 할당하면 할당받는 변수에는 원본의 원시 값이 복사되어 전달 -> 다른 메모리 공간에 저장되는 별개의 값

객체

객체 - 변경 가능한 값이며 프로퍼티를 동적으로 추가, 삭제할 수 있다.

변경 가능한 값 - 객체를 할당한 변수는 메모리 공간에 참조 값(생성된 메모리 공간의 주소)를 통해 실제 객체에 접근한다.
ex) let obj={name : 1} 이 변수가 저장된 메모리 공간을 보면 객체가 저장되어 있는 것이 아니라 객체가 저장되어 있는 메모리 공간의 주소값이 저장되어 있음

참조에 의한 전달 - 객체를 가리키는 변수를 다른 변수에 할당하면 원본의 참조값(메모리 공간의 주소)가 복사되어 전달되기 때문에 어느 한쪽에서 객체를 변경하면 서로 영향을 주고 받는다.

얕은 복사 - 객체가 서로 같은 주소 값을 바라보며, 객체에 중첩되어 있는 객체의 경우 참조 값을 복사한다

깊은 복사 - 객체에 중첩되어 있는 객체까지 모두 복사 -> 원시 값처럼 완적한 복사본을 만든다(값 자체의 완전한 복사)

반응형