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 ๋ฌธ์์ด์ ๋ค์ํ ๊ธฐ๋ฅ์ ์ตํ๊ณ ํ๋ก์ ํธ์ ์ ์ฉํด๋ณด์ธ์!
๋๊ธ ์ฐ๊ธฐ