๐Ÿ“– String

c_yjยท2022๋…„ 7์›” 11์ผ
0

DeepDive

๋ชฉ๋ก ๋ณด๊ธฐ
29/42
post-thumbnail

ํ‘œ์ค€ ๋นŒํŠธ์ธ ๊ฐ์ฒด์ธ String์€ ์›์‹œ ํƒ€์ž…์ธ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃฐ ๋•Œ ์œ ์šฉํ•œ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

String ์ƒ์„ฑ์ž ํ•จ์ˆ˜ โ“

ํ‘œ์ค€ ๋นŒํŠธ์ธ ๊ฐ์ฒด์ธ String ๊ฐ์ฒด๋Š” ์ƒ์„ฑ์ž ํ•จ์ˆ˜ ๊ฐ์ฒด์ด๋ฏ€๋กœ new ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ํ˜ธ์ถœํ•˜์—ฌ String ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
String ์ƒ์„ฑ์ž ํ•จ์ˆ˜์— ์ธ์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š๊ณ  new ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ผ ํ˜ธ์ถœํ•˜๋ฉด [[StringData]] ๋‚ด๋ถ€ ์Šฌ๋กฏ์— ๋นˆ ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•œ String ๋ž˜ํผ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํžŒ๋‹ค.

const strObj = new String();
console.log(strObj); // String {length: 0, [{PrimitiveValue]}: ""}

String ์ƒ์„ฑ์ž ํ•จ์ˆ˜์˜ ์ธ์ˆ˜๋กœ ๋ฌธ์ž์—ด์„ ์ „๋‹ฌํ•˜๋ฉด์„œ new ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ํ˜ธ์ถœํ•˜๋ฉด [[StringData]] ๋‚ด๋ถ€ ์Šฌ๋กฏ์— ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•œ String ๋ž˜ํผ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

const strObj = new String('Lee');
console.log(strObj);
// String {0: "L", 1: "e", 2: "e", length: 3, [[PrimitiveValue]]: "Lee"}

String ๋ž˜ํผ ๊ฐ์ฒด๋Š” ๋ฐฐ์—ด๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ length ํ”„๋กœํผํ‹ฐ์™€ ์ธ๋ฑ์Šค๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆซ์ž ํ˜•์‹์˜ ๋ฌธ์ž์—ด์„ ํ”„๋กœํผํ‹ฐ ํ‚ค๋กœ, ๊ฐ ๋ฌธ์ž๋ฅผ ํ”„๋กœํผํ‹ฐ ๊ฐ’์œผ๋กœ ๊ฐ–๋Š” ์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด์ด๋ฉด์„œ ์ดํ„ฐ๋Ÿฌ๋ธ”์ด๋‹ค ๋”ฐ๋ผ์„œ ๋ฐฐ์—ด๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ๋ฌธ์ž์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
๋ฌธ์ž์—ด์€ ์›์‹œ ๊ฐ’์ด๋ฏ€๋กœ ๋ณ€๊ฒฝXXX, ์—๋Ÿฌ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

// ๋ฌธ์ž์—ด์€ ์›์‹œ ๊ฐ’์ด๋ฏ€๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋–„ ์—๋Ÿฌ ๋ฐœ์ƒ X
strObj[0] = 'S';
console.log(strObj); // 'Lee'

String ์ƒ์„ฑ์ž ํ•จ์ˆ˜์˜ ์ธ์ˆ˜๋กœ ๋ฌธ์ž์—ด์ด ์•„๋‹Œ ๊ฐ’์„ ์ „๋‹ฌํ•˜๋ฉด ์ธ์ˆ˜๋ฅผ ๋ฌธ์ž์—ด๋กœ ๊ฐ•์ œ ๋ณ€ํ™˜ํ•œ ํ›„, [[StringData]] ๋‚ด๋ถ€ ์Šฌ๋กฏ์— ๋ณ€ํ™˜๋œ ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•œ String ๋ž˜ํผ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ

let strObj = new String(123);
console.log(strObj);
// String {0: "1", 1: "2", 2: "3", length: 3, [[PrimitiveValue]]: "123"]

strObj = new String(null);
console.log(strObj);
// String {0: "n", 1: "u", 2: "l", : "l", length: 4, [[PrimitiveValue]]: "123"]

new ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  String ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด String ์ธ์Šคํ„ด์Šค๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

// ์ˆซ์ž ํƒ€์ž… => ๋ฌธ์ž์—ด ํƒ€์ž…
String(1); // "1"
String(NaN); // 'NaN"
String(Infinity); // "Infinity"

// ๋ถˆ๋ฆฌ์–ธ ํƒ€์ž… => ๋ฌธ์ž์—ด ํƒ€์ž…
String(true); // "true"
String(false); // "false"

length ํ”„๋กœํผํ‹ฐ โ“

๋ฌธ์ž์—ด์˜ ๋ฌธ์ž ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

'Hello'.length; // 5
'์•ˆ๋…•ํ•˜์„ธ์š”!'.length; // 6

String ๋ž˜ํผ ๊ฐ์ฒด๋Š” ๋ฐฐ์—ด๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ length ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ–๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ธ๋ฑ์Šค๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆซ์ž๋ฅผ ํ”„๋กœํผํ‹ฐ ํ‚ค๋กœ, ๊ฐ ๋ฌธ์ž๋ฅผ ํ”„๋กœํผํ‹ฐ ๊ฐ’์œผ๋กœ ๊ฐ€์ง€๋ฏ€๋กœ String ๋ž˜ํผ ๊ฐ์ฒด๋Š” ์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด๋‹ค.

String ๋ฉ”์„œ๋“œ โ“

String ๊ฐ์ฒด์—๋Š” ์›๋ณธ String ๋ž˜ํผ ๊ฐ์ฒด๋ฅผ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฉ”์„œ๋“œ๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰ String ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๋Š” ์–ธ์ œ๋‚˜ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜. ๋ฌธ์ž์—ด์€ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ์›์‹œ ๊ฐ’์ด๊ธฐ ๋–„๋ฌธ์— String ๋ž˜ํผ ๊ฐ์ฒด๋„ ์ฝ๊ธฐ ์ „์šฉ ๊ฐ์ฒด๋กœ ์ œ๊ณต๋จ

String.prototype.indexOf โ—

indexOf ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์—์„œ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ฒซ ๋ฒˆ์จฐ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ ๊ฒ€์ƒ‰์— ์‹คํŒจํ•˜๋ฉด -1์„ ๋ฐ˜ํ™˜

const str = 'Hello World';

// ๋ฌธ์ž์—ด str์—์„œ 'ใ…ฃ'์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
str.indexOf('l'); // 2

// ๋ฌธ์ž์—ด str์—์„œ 'or'์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
str.indexOf('or'); // 7

// ๋ฌธ์ž์—ด str์—์„œ 'x'์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์—†์œผ๋ฉด -1 ๋ฐ˜ํ™˜
str.indexOf('x'); // -1

indexOf ๋ฉ”์„œ๋“œ์˜ 2๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ๊ฒ€์ƒ‰์„ ์‹œ์ž‘ํ•  ์ธ๋ฑ์Šค๋ฅผ ์ „๋‹ฌ

// ๋ฌธ์ž์—ด str์˜ ์ธ๋ฑ์Šค 3๋ถ€ํ„ฐ 'l'์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜
str.indexOf('l',3); // 3

indexOf ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์— ํŠน์ • ๋ฌธ์ž์—ด์ด ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•  ๋–„ ์œ ์šฉ

if (str.indexOf('Hello') !== -1) {
  // ๋ฌธ์ž์—ด str์— 'Hello'๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ์ฒ˜๋ฆฌํ•  ๋‚ด์šฉ

ES6์—์„œ ๋„์ž…๋œ String.prototype.includes ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋” ์ข‹๋‹ค

if (str.includes('Hello')){
  // ๋ฌธ์ž์—ด str์— 'Hello'๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ์ฒ˜๋ฆฌํ•  ๋‚ด์šฉ
}

String.prototype.search โ—

search ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์—์„œ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ์ •๊ทœ ํ‘œํ˜„์‹๊ณผ ๋งค์น˜ํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ ๊ฒ€์ƒ‰์— ์‹คํŒจํ•˜๋ฉด -1

String.prototype.includes โ—

ES6์—์„œ ๋„์ž…๋œ includes ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์— ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ๋ฌธ์ž์—ด์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์—ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ true ๋˜๋Š” false๋กœ ๋ฐ˜ํ™˜
includes ๋ฉ”์„œ๋“œ์˜ 2๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ๊ฒ€์ƒ‰์„ ์‹œ์ž‘ํ•  ์ธ๋ฑ์Šค๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

String.prototype.startsWith โ—

ES6์—์„œ ๋„์ž…๋œ startsWith ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์ด ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ๋ฌธ์ž์—ด๋กœ ์‹œ์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์—ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ true ๋˜๋Š” false๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
startsWith ๋ฉ”์„œ๋“œ์˜ 2๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ๊ฒ€์ƒ‰์„ ์‹œ์ž‘ํ•  ์ธ๋ฑ์Šค๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

String.prototype.endsWith โ—

ES6์—์„œ ๋„์ž…๋œ endsWith ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์ด ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ๋ฌธ์ž์—ด๋กœ ๋๋‚˜๋Š”์ง€ ํ™•์ธํ•˜์—ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ true ๋˜๋Š” false๋กœ ๋ฐ˜ํ™˜.
endsWith ๋ฉ”์„œ๋“œ์˜ 2๋ฒˆ์จฐ ์ธ์ˆ˜๋กœ ๊ฒ€์ƒ‰ํ•  ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

String.prototype.charAt โ—

charAt ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์—์„œ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ์ธ๋ฑ์Šค์— ์œ„์น˜ํ•œ ๋ฌธ์ž๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
์ธ๋ฑ์Šค๋Š” ๋ฌธ์ž์—ด์˜ ๋ฒ”์œ„, ์ฆ‰ 0 ~ (๋ฌธ์ž์—ด ๊ธธ์ด -1) ์‚ฌ์ด์˜ ์ •์ˆ˜์ด์–ด์•ผ ํ•œ๋‹ค. ์ธ๋ฑ์Šค๊ฐ€ ๋ฌธ์ž์—ด์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ์ •์ˆ˜์ธ ๊ฒฝ์šฐ ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜

String.prototype.substring โ—

substring ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์—์„œ ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ์ธ๋ฑ์Šค์— ์œ„์น˜ํ•˜๋Š” ๋ฌธ์ž๋ถ€ํ„ฐ ๋‘ ๋ฒˆ์จฐ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ์ธ๋ฑ์Šค์— ์œ„์น˜ํ•˜๋Š” ๋ฌธ์ž์˜ ๋ฐ”๋กœ ์ด์ „ ๋ฌธ์ž๊นŒ์ง€์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜

const str = 'Hello World';

// ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ ์ธ๋ฑ์Šค 4 ์ด์ „๊นŒ์ง€์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜
str.substring(1,4); // ell

substring ๋ฉ”์„œ๋“œ์˜ ๋‘ ๋ฒˆ์จฐ ์ธ์ˆ˜๋Š” ์ƒ๋žต๊ฐ€๋Šฅ, ์ด๋–„ ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•œ ์ธ๋ฑ์Šค์— ์œ„์น˜ํ•˜๋Š” ๋ฌธ์ž๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๊นŒ์ง€ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜.

const str = 'Hello World';

// ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๊นŒ์ง€ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
str.substring(1); // 'ello world'

String.prototype.slice โ—

slice ๋ฉ”์„œ๋“œ๋Š” substring ๋ฉ”์„œ๋“œ์™€ ๋™์ผํ•˜๊ฒŒ ๋™์ž‘ํ•œ๋‹ค. ๋‹จ slice ๋ฉ”์„œ๋“œ์—๋Š” ์Œ์ˆ˜์ธ ์ธ์ˆ˜๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์Œ์ˆ˜์ธ ์ธ์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๋ฉด ๋Œ€์ƒ ๋ฌธ์ž์—ด์˜ ๊ฐ€์žฅ ๋’ค์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ๋‚ด์–ด ๋ฐ˜ํ™˜ํ•œ๋‹ค.

String.prototype.toUpperCase โ—

toUpperCase ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์„ ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝํ•œ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜

String.prototype.toLowerCase โ—

toLowerCase ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์„ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝํ•œ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜

String.prototype.trim โ—

trim ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด ์•ž๋’ค์— ๊ณต๋ฐฑ ๋ฌธ์ž๊ฐ€ ์žˆ์„ ๊ฒจ์›… ์ด๋ฅผ ์ œ๊ฑฐํ•œ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜

const str = '   foo  '' ;
str.trim(); // 'foo'

String.prototype.trimStart, String.prototype.trimEnd๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€์ƒ ๋ฌธ์ž์—ด ์•ž ๋˜๋Š” ๋’ค์— ๊ณต๋ฐฑ ๋ฌธ์ž๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์ด๋ฅผ ์ œ๊ฑฐํ•œ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜.

String.prototype.repeat โ—

ES6์—์„œ ๋„์ž…๋œ repeat ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์„ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ์ •์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•ด ์—ฐ๊ฒฐํ•œ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜.
์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ์ •์ˆ˜๊ฐ€ 0์ด๋ฉด ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์Œ์ˆ˜์ด๋ฉด RangeError๋ฅผ ๋ฐœ์ƒ ์ธ์ˆ˜๋ฅผ ์ƒ๋žตํ•˜๋ฉด ๊ธฐ๋ณธ๊ฐ’ 0์ด ์„ค์ •

String.prototype.replace โ—

replace ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์—์„œ ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์€ ๋ฌธ์ž์—ด ๋˜๋Š” ์ •๊ทœํ‘œํ˜„์‹์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•œ ๋ฌธ์ž์—ด๋กœ ์น˜ํ™˜ํ•œ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜

const str = 'Hello world';

// str์—์„œ ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜ 'world'๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜ 'Lee'๋กœ ์น˜ํ™˜ํ•œ๋‹ค
str.replace('world','Lee'); // Hello Lee

๊ฒ€์ƒ‰๋œ ๋ฌธ์ž์—ด์ด ์—ฌ๋Ÿฟ ์กด์žฌํ•  ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ๋กœ ๊ฒ€์ƒ‰๋œ ๋ฌธ์ž์—ด๋งŒ ์น˜ํ™˜

const str = 'Hello world';
str.replace('world', 'Lee'); // Hello Lee world

String.prototype.split โ—

split ๋ฉ”์„œ๋“œ๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์—์„œ ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•œ ๋ฌธ์ž์—ด ๋˜๋Š” ์ •๊ทœ ํ‘œํ˜„์‹์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ๊ตฌ๋ถ„ํ•œ ํ›„ ๋ถ„๋ฆฌ๋œ ๊ฐ ๋ฌธ์ž์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋””. ์ธ์ˆ˜๋กœ ๋นˆ ๋ฌธ์ž์—ด์„ ์ „๋‹ฌํ•˜๋ฉด ๊ฐ ๋ฌธ์ž๋ฅผ ๋ชจ๋‘ ๋ถ„๋ฆฌํ•˜๊ณ , ์ธ์ˆ˜๋ฅผ ์ƒ๋ฝํ•˜๋ฉด ๋Œ€์ƒ ๋ฌธ์ž์—ด ์ „์ฒด๋ฅผ ๋‹จ์ผ ์š”์†Œ๋กœ ํ•˜๋Š” ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜.

profile
FrontEnd Developer

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