JAVASCRIPT

λ‚΄μž₯객체 Built-in Object

sophie0527 2022. 8. 25. 11:47

λ‚΄μž₯κ°μ²΄λž€?

: λΈŒλΌμš°μ €μ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진에 λ‚΄μž₯된 객체λ₯Ό λ§ν•œλ‹€.


•래퍼 객체 (Wrapper Object)

: μ›μ‹œκ°’μ„ ν•„μš”μ— λ”°λΌμ„œ κ΄€λ ¨λœ 빌트인 객체둜 λ³€ν™˜ν•œλ‹€.

const number = 123; // number μ›μ‹œ νƒ€μž…

//μ›μ‹œνƒ€μž… λ‹€μŒμ— .을 μ‚¬μš©ν•˜λ©΄ μ›μ‹œνƒ€μž…μ„ 감싸고 μžˆλŠ” 객체둜 감싸진닀.
console.log(number.toString()); // Number 객체
// 좜λ ₯ | 123  // λ¬Έμžμ—΄λ‘œ 좜λ ₯됨

const text = 'text'; // string λ¬Έμžμ—΄ μ›μ‹œνƒ€μž…

console.log(text.length); // String 객체
// 좜λ ₯ | 4  // 문자의 길이

 

κΈ€λ‘œλ²Œ 객체 (GlobalThis)

: μ „μ—­ globalThis 속성은 μ „μ—­ this 값을 κ°€μ§„ μ „μ—­ 객체λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

 

κ°’ μ†μ„±
μ•„λž˜ μ „μ—­ μ†μ„±μ€ κ°„λ‹¨ν•œ κ°’을 λ°˜ν™˜ν•˜λ©° μ†μ„±μ΄λ‚˜ λ©”μ„œλ“œλ₯Ό κ°€μ§€κ³  μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  • globalThis
  • this
  • Infinity
  • NaN
  • undefined

 

ν•¨μˆ˜ μ†μ„±
객체에 λΆ™μ§€ μ•Šκ³  μ „μ—­μœΌλ‘œ ν˜ΈμΆœν•˜λŠ” ν•¨μˆ˜λ‘œ, λ°˜ν™˜ κ°’을 ν˜ΈμΆœμžμ—κ²Œ λ°”λ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.

  • eval : λ¬Έμžμ—΄ν˜•νƒœμ˜ μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό κ°’μœΌλ‘œ 평가함
  • isFinite : 숫자의 μœ ν•œν•œμ§€ λ¬΄ν•œν•œμ§€ 확인
  • parseFloat : λ¬Έμžμ—΄μ„ 숫자둜 λ³€ν™˜
  • parseInt : λ¬Έμžμ—΄μ„ 숫자둜λ₯Ό μ •μˆ˜λ‘œ λ³€ν™˜
eval('const num = 100; console.log(num)'); // evalν•¨μˆ˜λŠ” λ¬Έμžμ—΄ν˜•νƒœμ˜ μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό κ°’μœΌλ‘œ ν‰κ°€ν•˜μ—¬ 좜λ ₯!
// 좜λ ₯ | 100

console.log(isFinite(1)); // isFinite ν•¨μˆ˜λŠ” 숫자의 μœ ν•œν•œμ§€ λ¬΄ν•œν•œμ§€ 확인
// 좜λ ₯ | true
console.log(isFinite(Infinity)); // Infinity=λ¬΄ν•œλŒ€κ°’
// 좜λ ₯ | false

console.log(parseFloat('13.57')); // parseFloat λ¬Έμžμ—΄μ„ 숫자둜 λ³€ν™˜
// 좜λ ₯ | 13.57
console.log(parseInt('13.57')); // parseInt λ¬Έμžμ—΄μ„ 숫자둜λ₯Ό μ •μˆ˜λ‘œ λ³€ν™˜
// 좜λ ₯ | 13
  • encodeURI : ν•œκΈ€μ΄λ‚˜ νŠΉμˆ˜λ¬Έμžκ°€ μžˆλŠ” μ£Όμ†Œλ₯Ό μ •ν•΄μ§„ λ‹€λ₯Έ 문자둜 λ³€ν™˜ν•΄μ€€λ‹€.
  • decodeURI : λ³€ν™˜ν•œ 문자λ₯Ό λ‹€μ‹œ ν•œκΈ€μ΄λ‚˜ νŠΉμˆ˜λ¬Έμžκ°€ μžˆλŠ” μ£Όμ†Œλ‘œ λ³€ν™˜ν•΄μ€€λ‹€.
  • encodeURIComponent : 뢀뢄적인 μ£Όμ†Œλ₯Ό λ³€ν™˜ν• λ•Œ μ‚¬μš©.
// URLμ—μ„œ ν•œκΈ€μ΄λ‚˜ νŠΉμˆ˜λ¬ΈμžλŠ” μ΄μŠ€μΌ€μ΄ν”„ 처리λ₯Ό ν•΄μ•Ό ν•œλ‹€
const URL = 'https://μ†Œν”Ό.com';
const encoded = encodeURI(URL);
console.log(encoded);
// 좜λ ₯ | https://%EC%86%8C%ED%94%BC.com

const decoded = decodeURI(encoded);
console.log(decoded);
// 좜λ ₯ | https://μ†Œν”Ό.com

const part = 'μ†Œν”Ό.com';
console.log(encodeURIComponent(part));
// 좜λ ₯ | %EC%86%8C%ED%94%BC.com

 

•숫자 ν•¨μˆ˜(Number)

Number() : μƒˆλ‘œμš΄ Number κ°’을 μƒμ„±ν•©λ‹ˆλ‹€.

const num1 = 1;
const num2 = new Number(1);
console.log(typeof num1);
// 좜λ ₯ | number
console.log(typeof num2);
// 좜λ ₯ | object
  • Number.MAX_VALUE : ν‘œν˜„ κ°€λŠ₯ν•œ κ°€μž₯ 큰 μ–‘μˆ˜
  • Number.MIN_VALUE : ν‘œν˜„ κ°€λŠ₯ν•œ κ°€μž₯ μž‘μ€ μ–‘μˆ˜. 즉, 0보닀 ν¬μ§€λ§Œ 0에 κ°€μž₯ κ°€κΉŒμš΄ μ–‘μˆ˜.
  • Number.MAX_SAFE_INTEGER : JavaScriptμ—μ„œ μ•ˆμ „ν•œ μ΅œλŒ€ μ •μˆ˜.
  • Number.MIN_SAFE_INTEGER : JavaScriptμ—μ„œ μ•ˆμ „ν•œ μ΅œμ†Œ μ •μˆ˜.
  • Number.NaN : "Not a Number"(μˆ«μžκ°€ μ•„λ‹˜)을 λ‚˜νƒ€λ‚΄λŠ” νŠΉλ³„ν•œ κ°’.
  • Number.NEGATIVE_INFINITY : 음의 λ¬΄ν•œλŒ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” νŠΉμˆ˜ν•œ κ°’. μ˜€λ²„ν”Œλ‘œμš° μ‹œ λ°˜ν™˜λ©λ‹ˆλ‹€.
  • Number.POSITIVE_INFINITY : μ–‘μ˜ λ¬΄ν•œλŒ€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” νŠΉμˆ˜ν•œ κ°’. μ˜€λ²„ν”Œλ‘œμš° μ‹œ λ°˜ν™˜λ©λ‹ˆλ‹€.
console.log(Number.MAX_VALUE);
// 좜λ ₯ | 1.7976931348623157e+308
console.log(Number.MIN_VALUE);
// 좜λ ₯ | 5e-324
console.log(Number.MAX_SAFE_INTEGER);
// 좜λ ₯ | 9007199254740991
console.log(Number.MIN_SAFE_INTEGER);
// 좜λ ₯ | -9007199254740991
console.log(Number.NaN);
// 좜λ ₯ | NaN
console.log(Number.NEGATIVE_INFINITY);
// 좜λ ₯ | -Infinity
console.log(Number.POSITIVE_INFINITY);
// 좜λ ₯ | Infinity

πŸ–μ§€μˆ˜ν‘œκΈ°λ²• : μ•„μ£Ό 큰숫자λ₯Ό κ°„λ‹¨ν•˜κ²Œ ν‘œκΈ°ν• λ•Œ μ“΄λ‹€.

  • toExponential() : 숫자λ₯Ό μ§€μˆ˜ ν‘œμ‹œλ‘œ λ‚˜νƒ€λ‚Έ κ°’ 리턴

 

  • toFixed() : λ°˜μ˜¬λ¦Όν•˜μ—¬ λ¬Έμžμ—΄λ‘œ λ³€ν™˜
  • toPrecision(): 수의 길이λ₯Ό μ œν•œν•¨ (μ›ν•˜λŠ” μžλ¦Ώμˆ˜κΉŒμ§€ μœ νš¨ν•˜λ„λ‘ 반올림)
const num1 = 102;
console.log(num1.toExponential());
// 좜λ ₯ | 1.02e+2

const num2 = 1234.12;
console.log(num2.toFixed());
// 좜λ ₯ | 1234
console.log(num4.toPrecision(5));
// 좜λ ₯ | 1234.1

더 λ§Žμ€ 숫자 ν•¨μˆ˜λ“€μ€ μ•„λž˜μ˜ MDN 링크 확인해보기!

 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number

 

Number - JavaScript | MDN

The Number constructor contains constants and methods for working with numbers. Values of other types can be converted to numbers using the Number() function.

developer.mozilla.org

 

•λ¬Έμžμ—΄ ν•¨μˆ˜(String)

  • length : λ¬Έμžμ—΄μ˜ 길이
const text = 'Hello!';
console.log(text.length);
// 좜λ ₯ | 6
  • charAt : ν•¨μˆ˜λ‘œ μΈλ±μŠ€κ°’μ— μ ‘κ·Ό ν•  수 μžˆλ‹€.
  • indexOf : λ¬Έμžμ—΄μ΄ λͺ‡λ²ˆμ§Έ μΈλ±μŠ€μ— μžˆλŠ”μ§€ 확인할 수 μžˆλ‹€.(처음 λΆ€ν„° 확인)
  • lastIndexOf : λ¬Έμžμ—΄μ΄ λͺ‡λ²ˆμ§Έ μΈλ±μŠ€μ— μžˆλŠ”μ§€ 확인할 수 μžˆλ‹€. (λ’€μ—μ„œ λΆ€ν„° 확인)
  • includes : ν•΄λ‹Ήν•˜λŠ” λ¬Έμžμ—΄μ— νŠΉμ •ν•œ λ¬Έμžκ°€ 포함 ν•˜λŠ”μ§€ 확인할 수 μžˆλ‹€.
  • startsWith : ν•΄λ‹Ήν•˜λŠ” λ¬Έμžμ—΄μ— νŠΉμ •ν•œ 문자둜 μ‹œμž‘ν•˜λŠ”μ§€ 확인할 수 μžˆλ‹€.
  • endsWith : ν•΄λ‹Ήν•˜λŠ” λ¬Έμžμ—΄μ— νŠΉμ •ν•œ 문자둜 λλ‚˜λŠ”μ§€ 확인할 수 μžˆλ‹€.
  • toUpperCase : λ¬Έμžμ—΄μ„ λŒ€λ¬Έμžλ‘œ λ³€ν™˜
  • toLowerCase : λ¬Έμžμ—΄μ„ μ†Œλ¬Έμžλ‘œ λ³€ν™˜
  • substring : νŠΉμ •ν•œ λ¬Έμžμ—΄μ˜ μœ„μΉ˜μ˜ 문자λ₯Ό μ‚­μ œ. 
  • slice : νŠΉμ •ν•œ λ¬Έμžμ—΄μ˜ μœ„μΉ˜μ˜ 문자λ₯Ό μ‚­μ œ.
const text = 'Hello!';

// λ¬Έμžμ—΄μ˜ 인덱슀둜 ν•΄λ‹Ή 문자만 좜λ ₯ν•  수 μžˆλ‹€.
console.log(text[0]);
// 좜λ ₯ | H
console.log(text[1]);
// 좜λ ₯ | E
console.log(text[2]);
// 좜λ ₯ | L

// charAtν•¨μˆ˜λ‘œ λ¬Έμžμ—΄μ˜ μΈλ±μŠ€κ°’μ— ν•΄λ‹Ήν•˜λŠ” 문자만 좜λ ₯ν•  수 μžˆλ‹€.
console.log(text.charAt(0));
// 좜λ ₯ | H
console.log(text.charAt(1));
// 좜λ ₯ | E

console.log(text.indexOf('l'));
// 좜λ ₯ | 2
console.log(text.lastIndexOf('l'));
// 좜λ ₯ | 3

console.log(text.includes('H'));
// 좜λ ₯ | true
console.log(text.startsWith('He'));
// 좜λ ₯ | true
console.log(text.endsWith('!'));
// 좜λ ₯ | true

console.log(text.toUpperCase());
// 좜λ ₯ | HELLO!
console.log(text.toLowerCase());
// 좜λ ₯ | hello!

console.log(text.substring(0, 2));
// 좜λ ₯ | He
console.log(text.slice(2));
// 좜λ ₯ | llo!
console.log(text.slice(-2));
// 좜λ ₯ | o!

 

  • trim : 곡백을 μ œκ±°ν•˜κ³  λ¬Έμžμ—΄λ§Œ 남기기.
  • split : λ¬Έμžμ—΄μ„ λŠμ–΄μ„œ λ‚˜νƒ€λ‚Όλ•Œ μ‚¬μš©.
const space = '            space       ';
console.log(space.trim());
// 좜λ ₯ | space

const longText = 'Nice to meet you';
console.log(longText.split(' '));
[ 'Nice', 'to', 'meet', 'you' ]
console.log(longText.split(' ', 2));
[ 'Nice', 'to' ]

더 λ§Žμ€ λ¬Έμžμ—΄ ν•¨μˆ˜λ“€μ€ μ•„λž˜μ˜ MDN 링크 확인해보기!

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String

 

String - JavaScript | MDN

The String object is used to represent and manipulate a sequence of characters.

developer.mozilla.org

 

 

•λ‚ μ§œκ΄€λ ¨ ν•¨μˆ˜(Date)

  • new Date() : μƒμ„±μžλ‘œ ν˜ΈμΆœν•  경우 μƒˆλ‘œμš΄ Date κ°μ²΄λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
  • Date.now() : 1970λ…„ 1μ›” 1일 00:00:00 UTCλ‘œλΆ€ν„° μ§€λ‚œ μ‹œκ°„μ„ λ°€λ¦¬μ΄ˆ λ‹¨μœ„μ˜ 숫자 κ°’μœΌλ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€. μœ€μ΄ˆλŠ” λ¬΄μ‹œν•©λ‹ˆλ‹€.
  • Date.parse() : λ‚ μ§œλ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ¬Έμžμ—΄μ„ λΆ„μ„ν•œ ν›„, ν•΄λ‹Ή λ‚ μ§œμ™€ 1970λ…„ 1μ›” 1일 00:00:00 UTC의 μ‹œκ°„ 차이λ₯Ό λ°€λ¦¬μ΄ˆ λ‹¨μœ„μ˜ 숫자 κ°’μœΌλ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.

더 λ§Žμ€ λ‚ μ§œκ΄€λ ¨ ν•¨μˆ˜λ“€μ€ μ•„λž˜μ˜ MDN 링크 확인해보기!

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

 

Date - JavaScript | MDN

JavaScript Date objects represent a single moment in time in a platform-independent format. Date objects contain a Number that represents milliseconds since 1 January 1970 UTC.

developer.mozilla.org

 


 

* μ°Έκ³  λ¬Έμ„œ

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects

 

Standard built-in objects - JavaScript | MDN

This chapter documents all of JavaScript's standard, built-in objects, including their methods and properties.

developer.mozilla.org