#2 Primitive Types

์ตœ์ •ํ™˜ยท2021๋…„ 7์›” 1์ผ
0

๐Ÿ“‹ 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

0๊ฐœ์˜ ๋Œ“๊ธ€