Responsive Advertisement

JavaScript Strings: ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ์™€ ํ™œ์šฉ ๋ฐฉ๋ฒ•

JavaScript์—์„œ ๋ฌธ์ž์—ด(String)์€ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ž…๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์€ ์›น ๊ฐœ๋ฐœ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋ฉฐ, JavaScript๋Š” ๋ฌธ์ž์—ด์„ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ์™€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” JavaScript ๋ฌธ์ž์—ด์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ๋‹ค์–‘ํ•œ ํ™œ์šฉ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

JavaScript์—์„œ ๋ฌธ์ž์—ด(String)์ด๋ž€?

๋ฌธ์ž์—ด์€ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ, ์ž‘์€ ๋”ฐ์˜ดํ‘œ('), ํฐ ๋”ฐ์˜ดํ‘œ("), ๋˜๋Š” ๋ฐฑํ‹ฑ(`)์œผ๋กœ ๊ฐ์‹ธ์„œ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

let str1 = "Hello, World!";
let str2 = 'JavaScript is fun';
let str3 = `Template literals are great!`;

์„ธ ๊ฐ€์ง€ ๋ฐฉ์‹ ๋ชจ๋‘ ๋ฌธ์ž์—ด์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฐฑํ‹ฑ(`)์„ ์‚ฌ์šฉํ•˜๋Š” ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด์€ ์—ฌ๋Ÿฌ ์ค„ ๋ฌธ์ž์—ด์ด๋‚˜ ๋ณ€์ˆ˜ ์‚ฝ์ž… ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์ž์—ด์˜ ๊ธธ์ด ํ™•์ธํ•˜๊ธฐ

๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด length ์†์„ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

let text = "JavaScript";
console.log(text.length);  // ๊ฒฐ๊ณผ: 10

๋ฌธ์ž์—ด ๊ฒฐํ•ฉํ•˜๊ธฐ

JavaScript์—์„œ ๋ฌธ์ž์—ด์„ ๊ฒฐํ•ฉํ•˜๋ ค๋ฉด + ์—ฐ์‚ฐ์ž ๋˜๋Š” ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

+ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•œ ๋ฌธ์ž์—ด ๊ฒฐํ•ฉ

let firstName = "John";
let lastName = "Doe";
let fullName = firstName + " " + lastName;

console.log(fullName);  // ๊ฒฐ๊ณผ: "John Doe"

ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด์„ ์‚ฌ์šฉํ•œ ๋ฌธ์ž์—ด ๊ฒฐํ•ฉ

let fullName = `${firstName} ${lastName}`;
console.log(fullName);  // ๊ฒฐ๊ณผ: "John Doe"

ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฑํ‹ฑ(`) ์•ˆ์— ๋ณ€์ˆ˜๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์—ฌ๋Ÿฌ ์ค„ ๋ฌธ์ž์—ด์„ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ž์—ด ๋ฉ”์„œ๋“œ

JavaScript๋Š” ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•˜๊ฑฐ๋‚˜, ํŠน์ • ๋ถ€๋ถ„์„ ์ถ”์ถœํ•˜๊ฑฐ๋‚˜, ๋ณ€ํ™˜ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

toUpperCase()์™€ toLowerCase()

์ด ๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด์˜ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž ๋˜๋Š” ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

let text = "Hello, World!";
console.log(text.toUpperCase());  // ๊ฒฐ๊ณผ: "HELLO, WORLD!"
console.log(text.toLowerCase());  // ๊ฒฐ๊ณผ: "hello, world!"

indexOf()์™€ lastIndexOf()

indexOf() ๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด ๋‚ด์—์„œ ํŠน์ • ๋ฌธ์ž์—ด์ด ์ฒ˜์Œ์œผ๋กœ ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. lastIndexOf()๋Š” ๋งˆ์ง€๋ง‰์œผ๋กœ ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

let text = "JavaScript is awesome!";
console.log(text.indexOf("is"));  // ๊ฒฐ๊ณผ: 11
console.log(text.lastIndexOf("a"));  // ๊ฒฐ๊ณผ: 3

slice()์™€ substring()

์ด ๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด์˜ ์ผ๋ถ€๋ถ„์„ ์ถ”์ถœํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

let text = "JavaScript";
let slicedText = text.slice(0, 4);  // "Java"
let substringText = text.substring(4, 10);  // "Script"

console.log(slicedText);  // ๊ฒฐ๊ณผ: "Java"
console.log(substringText);  // ๊ฒฐ๊ณผ: "Script"

replace()

replace() ๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด ๋‚ด์—์„œ ํŠน์ • ๋ฌธ์ž์—ด์„ ์ฐพ์•„ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋กœ ์ผ์น˜ํ•˜๋Š” ๊ฐ’๋งŒ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

let text = "Hello, World!";
let newText = text.replace("World", "JavaScript");

console.log(newText);  // ๊ฒฐ๊ณผ: "Hello, JavaScript!"

trim()

trim() ๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด์˜ ์•ž๋’ค์— ์žˆ๋Š” ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

let text = "   JavaScript   ";
console.log(text.trim());  // ๊ฒฐ๊ณผ: "JavaScript"

split()

split() ๋ฉ”์„œ๋“œ๋Š” ๋ฌธ์ž์—ด์„ ํŠน์ • ๊ตฌ๋ถ„์ž๋กœ ๋‚˜๋ˆ„์–ด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

let text = "apple,banana,cherry";
let fruits = text.split(",");

console.log(fruits);  // ๊ฒฐ๊ณผ: ["apple", "banana", "cherry"]

๋ฌธ์ž์—ด ๋น„๊ต

๋ฌธ์ž์—ด์„ ๋น„๊ตํ•  ๋•Œ๋Š” ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฌธ์ž์—ด์ด ๊ฐ™์€์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜, ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋กœ ์•ž๋’ค๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

let str1 = "apple";
let str2 = "banana";

console.log(str1 === str2);  // ๊ฒฐ๊ณผ: false
console.log(str1 < str2);  // ๊ฒฐ๊ณผ: true ("apple"์€ "banana"๋ณด๋‹ค ์•ŒํŒŒ๋ฒณ ์ˆœ์œผ๋กœ ์•ž์— ์œ„์น˜)

๋‹ค์–‘ํ•œ ํ™œ์šฉ๋ฒ•: ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด

ES6์—์„œ ๋„์ž…๋œ ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด์€ ๋ฐฑํ‹ฑ(`)์„ ์‚ฌ์šฉํ•ด ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๋ฉฐ, ๋ณ€์ˆ˜ ์‚ฝ์ž…๊ณผ ์—ฌ๋Ÿฌ ์ค„ ๋ฌธ์ž์—ด์„ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ€์ˆ˜ ์‚ฝ์ž…

let name = "Alice";
let greeting = `Hello, ${name}! Welcome to JavaScript.`;

console.log(greeting);  // ๊ฒฐ๊ณผ: "Hello, Alice! Welcome to JavaScript."

์—ฌ๋Ÿฌ ์ค„ ๋ฌธ์ž์—ด

let message = `This is a multiline
string in JavaScript using
template literals.`;

console.log(message);

ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฑํ‹ฑ์„ ์ด์šฉํ•ด ์—ฌ๋Ÿฌ ์ค„ ๋ฌธ์ž์—ด์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ์กด์˜ ๋ฌธ์ž์—ด์—์„œ ์ค„๋ฐ”๊ฟˆ์„ ์œ„ํ•ด \n์„ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ๋˜ ๋ถˆํŽธํ•จ์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

JavaScript์—์„œ ๋ฌธ์ž์—ด์€ ๋งค์šฐ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋ฉฐ, ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์„ ๊ฒฐํ•ฉํ•˜๊ฑฐ๋‚˜, ํŠน์ • ๋ถ€๋ถ„์„ ์ถ”์ถœํ•˜๊ฑฐ๋‚˜, ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์„ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด์„ ํ™œ์šฉํ•˜๋ฉด ๋”์šฑ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋ฌธ์ž์—ด์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ž์—ด ๊ธฐ๋Šฅ์„ ์ž˜ ํ™œ์šฉํ•˜๋ฉด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋” ์œ ์—ฐํ•˜๊ณ  ๋™์ ์ธ ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

JavaScript ๋ฌธ์ž์—ด์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ตํžˆ๊ณ  ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ณด์„ธ์š”!

๋Œ“๊ธ€ ์“ฐ๊ธฐ