#2 Primitive Types

7922 단어 jsjs

📋 Primitive Types(원시 자료형)

기초

개체는 속성의 집합입니다. 속성은 개체 또는 기본 요소를 참조 할 수 있습니다. 프리미티브는 값이며 속성이 없습니다.

밑 5개의 기본 유형 이외 것들은 객체이다.

  • undefined

  • null

  • symbol

해당 객체에 의해 래핑될 수 있음

  • boolean
  • string
  • number
  • NaN (Not a Number)

이 6가지의 원시 타입들에 더해 ECMAScript 표준은 Object를 정의했습니다. Object는 간단히 하자면 키-값 저장소입니다.

const object = {
	key: "value" 
}

그래서 요약하자면, Primitive Type이 아닌 것은 Object입니다.
그리고 Object라는 개념은 함수들과 배열들도 포함하죠


typeof true; //"boolean"
typeof Boolean(true); //"boolean"
typeof new Boolean(true); //"object"
typeof (new Boolean(true)).valueOf(); //"boolean"
 
typeof "abc"; //"string"
typeof String("abc"); //"string"
typeof new String("abc"); //"object"
typeof (new String("abc")).valueOf(); //"string"
 
typeof 123; //"number"
typeof Number(123); //"number"
typeof new Number(123); //"object"
typeof (new Number(123)).valueOf(); //"number"


let hello;

hello // undefined (정의하지 않음)
hello = null; // null ==> null이라는 값을 가짐

📋 primitive에 속성이 없는 경우 "abc".length값 반환 이유

JavaScript는 프리미티브와 객체 사이를 쉽게 강제하기 때문이며 이 경우 속성 길이에 액세스하기 위해 문자열 값이 문자열 개체로 강제 변환 됩니다.

즉, 프리미티브는 각각의 객체 생성자가 정의한 모든 속성 (메서드 포함)에 액세스 할 수 있습니다.


String.prototype.returnMe= function() {
    return this;
}
 
var a = "abc";
var b = a.returnMe();  
 
a; //"abc" 
typeof a; //"string" (still a primitive)
b; //"abc"
typeof b; //"object"

++ 설명 해주는 곳

https://velog.io/@jakeseo_me/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%9D%BC%EB%A9%B4-%EC%95%8C%EC%95%84%EC%95%BC-%ED%95%A0-33%EA%B0%80%EC%A7%80-%EA%B0%9C%EB%85%90-2-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%9D%98-%EC%9B%90%EC%8B%9C-%ED%83%80%EC%9E%85Primitive-Type-%EB%B2%88%EC%97%AD

좋은 웹페이지 즐겨찾기