JavaScript์์ ๋ฌธ์์ด์ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ๋งค์ฐ ๋ค์ํ๋ฉฐ, ํน์ ๋ฌธ์์ด์ ์์น๋ฅผ ์ฐพ๊ฑฐ๋ ๋ฌธ์์ด ๋ด์์ ํน์ ํจํด์ ์ฐพ๋ ๋ฑ์ ์์ ์ ์ฝ๊ฒ ์ํํ ์ ์์ต๋๋ค. JavaScript๋ ์ด๋ฌํ ๋ฌธ์์ด ๊ฒ์์ ์ํ ๋ค์ํ ๋ฉ์๋์ ์ ๊ท ํํ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ์ด ๊ธ์์๋ ์์ฃผ ์ฌ์ฉ๋๋ JavaScript ๋ฌธ์์ด ๊ฒ์ ๋ฐฉ๋ฒ๊ณผ ์ด๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
JavaScript ๋ฌธ์์ด ๊ฒ์ ๋ฉ์๋
1. indexOf()
: ๋ฌธ์์ด์ ์์น ์ฐพ๊ธฐ
indexOf()
๋ฉ์๋๋ ๋ฌธ์์ด ๋ด์์ ํน์ ๋ฌธ์์ด์ด ์ฒ์์ผ๋ก ๋ฑ์ฅํ๋ ์์น์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํฉ๋๋ค. ๋ง์ฝ ์ฐพ๋ ๋ฌธ์์ด์ด ์์ผ๋ฉด -1
์ ๋ฐํํฉ๋๋ค.
let text = "JavaScript is amazing!";
let position = text.indexOf("amazing");
console.log(position); // ๊ฒฐ๊ณผ: 13
์ ์ฝ๋์์๋ "amazing"์ด๋ผ๋ ๋จ์ด๊ฐ ๋ฌธ์์ด์ 13๋ฒ์งธ ์ธ๋ฑ์ค์์ ์์ํ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ๋ง์ฝ ์ฐพ๋ ๋ฌธ์์ด์ด ์์ ๊ฒฝ์ฐ, -1
์ด ๋ฐํ๋ฉ๋๋ค.
2. lastIndexOf()
: ๋ง์ง๋ง์ผ๋ก ๋ฑ์ฅํ๋ ๋ฌธ์์ด์ ์์น ์ฐพ๊ธฐ
lastIndexOf()
๋ ๋ฌธ์์ด์์ ํน์ ๋ฌธ์์ด์ด ๋ง์ง๋ง์ผ๋ก ๋ฑ์ฅํ๋ ์์น๋ฅผ ๋ฐํํฉ๋๋ค.
let text = "I love JavaScript, I love coding!";
let lastPosition = text.lastIndexOf("love");
console.log(lastPosition); // ๊ฒฐ๊ณผ: 23
์ด ์์ ์์๋ "love"๋ผ๋ ๋จ์ด๊ฐ ๋ง์ง๋ง์ผ๋ก 23๋ฒ์งธ ์ธ๋ฑ์ค์์ ๋ํ๋ฉ๋๋ค.
3. search()
: ์ ๊ท ํํ์์ ์ฌ์ฉํ ๊ฒ์
search()
๋ฉ์๋๋ ์ ๊ท ํํ์์ ์ฌ์ฉํด ๋ฌธ์์ด ๋ด์์ ํน์ ํจํด์ ๊ฒ์ํฉ๋๋ค. indexOf()
์ ๋น์ทํ์ง๋ง, ์ ๊ท ํํ์์ ์ฌ์ฉํ ์ ์๋ ์ ์ด ๋ค๋ฆ
๋๋ค.
let text = "JavaScript is fun!";
let position = text.search(/fun/);
console.log(position); // ๊ฒฐ๊ณผ: 13
์ ์ฝ๋์์๋ ์ ๊ท ํํ์ /fun/
์ ์ฌ์ฉํด "fun"์ด๋ผ๋ ๋ฌธ์์ด์ ์์น๋ฅผ ์ฐพ์ 13์ ๋ฐํํฉ๋๋ค.
๋ฌธ์์ด ํฌํจ ์ฌ๋ถ ํ์ธ
1. includes()
: ๋ฌธ์์ด ํฌํจ ์ฌ๋ถ ํ์ธ
includes()
๋ฉ์๋๋ ๋ฌธ์์ด์ ํน์ ๋ฌธ์์ด์ด ํฌํจ๋์ด ์๋์ง๋ฅผ ํ์ธํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ true
๋๋ false
๋ก ๋ฐํํฉ๋๋ค.
let text = "I enjoy learning JavaScript!";
console.log(text.includes("JavaScript")); // ๊ฒฐ๊ณผ: true
console.log(text.includes("Python")); // ๊ฒฐ๊ณผ: false
includes()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ์์ด์ด ํน์ ํ
์คํธ๋ฅผ ํฌํจํ๊ณ ์๋์ง ์ฝ๊ฒ ํ์ธํ ์ ์์ต๋๋ค.
2. startsWith()
์ endsWith()
: ์์๊ณผ ๋ ํ์ธ
startsWith()
๋ฉ์๋๋ ๋ฌธ์์ด์ด ํน์ ๋ฌธ์๋ก ์์ํ๋์ง ํ์ธํ๊ณ , endsWith()
๋ ๋ฌธ์์ด์ด ํน์ ๋ฌธ์๋ก ๋๋๋์ง ํ์ธํฉ๋๋ค.
let text = "JavaScript is powerful!";
console.log(text.startsWith("Java")); // ๊ฒฐ๊ณผ: true
console.log(text.endsWith("powerful!")); // ๊ฒฐ๊ณผ: true
์ ์ฝ๋์์๋ ๋ฌธ์์ด์ด "Java"๋ก ์์ํ๊ณ "powerful!"๋ก ๋๋๋์ง๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
์ ๊ท ํํ์์ ์ฌ์ฉํ ๊ณ ๊ธ ๊ฒ์
JavaScript์์ ๋ฌธ์์ด ๊ฒ์์ ๋ณด๋ค ๊ฐ๋ ฅํ๊ฒ ์ํํ๋ ค๋ฉด ์ ๊ท ํํ์(Regular Expressions)์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ ๊ท ํํ์์ ํจํด ๋งค์นญ์ ์ํ ๊ฐ๋ ฅํ ๋๊ตฌ๋ก, ๋ณต์กํ ๋ฌธ์์ด ๊ฒ์์ด๋ ํน์ ํจํด์ ์ผ์นํ๋ ํ ์คํธ๋ฅผ ์ฐพ์ ๋ ์ ์ฉํฉ๋๋ค.
1. match()
: ์ ๊ท ํํ์์ ์ฌ์ฉํด ์ผ์นํ๋ ๋ฌธ์์ด ์ฐพ๊ธฐ
match()
๋ฉ์๋๋ ์ ๊ท ํํ์์ ์ผ์นํ๋ ๋ฌธ์์ด์ ๋ฐฐ์ด๋ก ๋ฐํํฉ๋๋ค. ๋ง์ฝ ์ผ์นํ๋ ๊ฒ์ด ์์ผ๋ฉด null
์ ๋ฐํํฉ๋๋ค.
let text = "I love JavaScript and Java!";
let result = text.match(/Java/g);
console.log(result); // ๊ฒฐ๊ณผ: ["Java", "Java"]
์ ์ฝ๋์์ ์ ๊ท ํํ์ /Java/g
๋ ๋ฌธ์์ด ๋ด์์ "Java"๋ผ๋ ๋จ์ด๋ฅผ ๋ชจ๋ ์ฐพ์ ๋ฐฐ์ด๋ก ๋ฐํํฉ๋๋ค. ์ฌ๊ธฐ์ g
ํ๋๊ทธ๋ ๊ธ๋ก๋ฒ ๊ฒ์์ ์๋ฏธํ๋ฉฐ, ์ ์ฒด ๋ฌธ์์ด์ ๊ฒ์ํฉ๋๋ค.
2. replace()
์ ์ ๊ท ํํ์
replace()
๋ฉ์๋๋ ๋ฌธ์์ด ๋ด์์ ํน์ ๋ฌธ์์ด์ ๋ค๋ฅธ ๋ฌธ์์ด๋ก ๋์ฒดํ ์ ์์ต๋๋ค. ์ ๊ท ํํ์์ ํ์ฉํ๋ฉด ๋์ฑ ์ ๊ตํ ๋์ฒด ์์
์ด ๊ฐ๋ฅํฉ๋๋ค.
let text = "JavaScript is awesome. JavaScript is fun!";
let newText = text.replace(/JavaScript/g, "JS");
console.log(newText); // ๊ฒฐ๊ณผ: "JS is awesome. JS is fun!"
์ ์ฝ๋์์๋ ๋ฌธ์์ด ๋ด์ "JavaScript"๋ฅผ ๋ชจ๋ "JS"๋ก ๋์ฒดํฉ๋๋ค. ์ ๊ท ํํ์ /JavaScript/g
๋ ๋ฌธ์์ด์์ ๋ชจ๋ "JavaScript"๋ฅผ ์ฐพ์ต๋๋ค.
์์ฉ ์์ : ํน์ ๋จ์ด ํฌํจ ์ฌ๋ถ ๊ฒ์ฌ
์๋๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ํ ์คํธ์์ ํน์ ๋จ์ด๊ฐ ํฌํจ๋์ด ์๋์ง ๊ฒ์ฌํ๋ ๊ฐ๋จํ ์์ ์ ๋๋ค.
function checkWord(input, word) {
if (input.includes(word)) {
console.log(`"${word}"๊ฐ ์
๋ ฅ๋ ํ
์คํธ์ ํฌํจ๋์ด ์์ต๋๋ค.`);
} else {
console.log(`"${word}"๊ฐ ์
๋ ฅ๋ ํ
์คํธ์ ํฌํจ๋์ด ์์ง ์์ต๋๋ค.`);
}
}
let userInput = "I am learning JavaScript.";
checkWord(userInput, "JavaScript"); // ๊ฒฐ๊ณผ: "JavaScript๊ฐ ์
๋ ฅ๋ ํ
์คํธ์ ํฌํจ๋์ด ์์ต๋๋ค."
checkWord(userInput, "Python"); // ๊ฒฐ๊ณผ: "Python๊ฐ ์
๋ ฅ๋ ํ
์คํธ์ ํฌํจ๋์ด ์์ง ์์ต๋๋ค."
์ ์ฝ๋์์๋ includes()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ํ
์คํธ์ ํน์ ๋จ์ด๊ฐ ํฌํจ๋์ด ์๋์ง ํ์ธํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๊ฒฐ๋ก
JavaScript๋ ๋ฌธ์์ด ๊ฒ์์ ์ํ ๋ค์ํ ๋ฉ์๋์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. indexOf()
์ search()
๋ฅผ ์ฌ์ฉํด ๋ฌธ์์ด์ ์์น๋ฅผ ์ฐพ๊ฑฐ๋, includes()
์ startsWith()
๋ก ๋ฌธ์์ด์ด ํฌํจ๋์๋์ง๋ฅผ ์ฝ๊ฒ ํ์ธํ ์ ์์ต๋๋ค. ๋ํ, ์ ๊ท ํํ์์ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ํจํด ๋งค์นญ๋ ์์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ฌธ์์ด ๊ฒ์ ๋ฐฉ๋ฒ๋ค์ ์ ํ์ฉํ๋ฉด, ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ถ์ํ๋ ๋ฐ ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
๋๊ธ ์ฐ๊ธฐ