CodeGym /ํ–‰๋™ /Frontend SELF KO /๋ฌธ์ž์—ด๊ณผ ๊ทธ์— ๋Œ€ํ•œ ์ž‘์—… ๋ฉ”์„œ๋“œ๋“ค

๋ฌธ์ž์—ด๊ณผ ๊ทธ์— ๋Œ€ํ•œ ์ž‘์—… ๋ฉ”์„œ๋“œ๋“ค

Frontend SELF KO
๋ ˆ๋ฒจ 33 , ๋ ˆ์Šจ 3
์‚ฌ์šฉ ๊ฐ€๋Šฅ

4.1 ๋ฌธ์ž์—ด ์†Œ๊ฐœ

JavaScript์—์„œ ๋ฌธ์ž์—ด์€ ๋ฌธ์ž๋“ค์˜ ์‹œํ€€์Šค๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์ฃผ์š” ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ค‘ ํ•˜๋‚˜์•ผ. ๋ฌธ์ž์—ด์€ ์‹ฑ๊ธ€ ์ฟผํŠธ ('ํ…์ŠคํŠธ'), ๋”๋ธ” ์ฟผํŠธ ("ํ…์ŠคํŠธ"), ๋˜๋Š” ๋ฐฑํ‹ฑ (`ํ…์ŠคํŠธ`)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด.

๋ฌธ์ž์—ด ์˜ˆ์ œ:

JavaScript
    
      let singleQuote = 'Hello, World!';
      let doubleQuote = "Hello, World!";
      let backticks = `Hello, World!`;
    
  

๋ฌธ์ž์—ด ๊ฐ์ฒด์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์–ด:

๋ฉ”์„œ๋“œ ์„ค๋ช…
length ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค˜
charAt(index) ์ง€์ •๋œ ์œ„์น˜์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค˜
toUpperCase() ๋ฌธ์ž์—ด์„ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ด์ค˜
toLowerCase() ๋ฌธ์ž์—ด์„ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ด์ค˜
indexOf(substring) ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์ถœํ˜„ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ์ฐพ์„ ์ˆ˜ ์—†์œผ๋ฉด -1์„ ๋ฐ˜ํ™˜ํ•ด์ค˜
includes(substring) ๋ฌธ์ž์—ด์ด ํŠน์ • ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , true ๋˜๋Š” false๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค˜
slice(start, end) ๋ฌธ์ž์—ด์˜ ์ผ๋ถ€๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ด์ค˜
replace(searchValue, newValue) ์ง€์ •๋œ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ์ƒˆ๋กœ์šด ๋ถ€๋ถ„ ๋ฌธ์ž์—ด๋กœ ๋Œ€์ฒดํ•ด์ค˜
split(separator) ์ง€์ •๋œ ๊ตฌ๋ถ„์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ๋ฐฐ์—ด๋กœ ๋‚˜๋ˆ ์ค˜
trim() ๋ฌธ์ž์—ด ์‹œ์ž‘๊ณผ ๋์˜ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•ด์ค˜

4.2 ๋ฌธ์ž์—ด ์ž‘์—…์˜ ์ฃผ์š” ๋ฉ”์„œ๋“œ

๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ์˜ˆ์ œ

1. length ์†์„ฑ

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

JavaScript
    
      let str = 'Hello';
      console.log(str.length); // 5
    
  

2. charAt(index) ๋ฉ”์„œ๋“œ

์ง€์ •๋œ ์œ„์น˜์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•ด:

JavaScript
    
      let str = 'Hello';
      let result = str.charAt(1);
      console.log(result); // 'e'
    
  

3. toUpperCase() ๋ฐ toLowerCase() ๋ฉ”์„œ๋“œ:

๋ฌธ์ž์—ด์„ ๋Œ€๋ฌธ์ž ๋˜๋Š” ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ด:

JavaScript
    
      let str = 'Hello';
      console.log(str.toUpperCase()); // 'HELLO'
      console.log(str.toLowerCase()); // 'hello'
    
  

4. indexOf(substring) ๋ฉ”์„œ๋“œ

๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์ถœํ˜„ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ์ฐพ์„ ์ˆ˜ ์—†์œผ๋ฉด -1์„ ๋ฐ˜ํ™˜ํ•ด:

JavaScript
    
      let str = 'Hello, world!';
      let result = str.indexOf('world');
      console.log(result); // 7
    
  

5. includes(substring) ๋ฉ”์„œ๋“œ

๋ฌธ์ž์—ด์ด ํŠน์ • ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , true ๋˜๋Š” false๋ฅผ ๋ฐ˜ํ™˜ํ•ด:

JavaScript
    
      let str = 'Hello, world!';
      let result = str.includes('world');
      console.log(result); // true
    
  

6. trim() ๋ฉ”์„œ๋“œ

๋ฌธ์ž์—ด ์‹œ์ž‘๊ณผ ๋์˜ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•ด์ค˜:

JavaScript
    
      let str = '   Hello, world!   ';
      console.log(str.trim()); // 'Hello, world!'
    
  

7. replace(searchValue, newValue) ๋ฉ”์„œ๋“œ

์ง€์ •๋œ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ์ƒˆ๋กœ์šด ๋ถ€๋ถ„ ๋ฌธ์ž์—ด๋กœ ๋Œ€์ฒดํ•ด์ค˜:

JavaScript
    
      let str = 'Hello, world!';
      console.log(str.replace('world', 'JavaScript')); // 'Hello, JavaScript!'
    
  

8. split(separator) ๋ฉ”์„œ๋“œ

์ง€์ •๋œ ๊ตฌ๋ถ„์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ๋ฐฐ์—ด๋กœ ๋‚˜๋ˆ ์ค˜:

JavaScript
    
      let str = 'Hello, world!';
      let words = str.split(' ');
      console.log(words); // ['Hello,', 'world!']
    
  

9. substring(start, end) ๋ฉ”์„œ๋“œ

๋‘ ์ธ๋ฑ์Šค ์‚ฌ์ด์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ด์ค˜:

JavaScript
    
      let str = 'Hello, world!';
      console.log(str.substring(0, 5)); // 'Hello'
    
  

10. substr(start, length) ๋ฉ”์„œ๋“œ

์ง€์ •๋œ ์ธ๋ฑ์Šค์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ์ง€์ •๋œ ์ˆ˜์˜ ๋ฌธ์ž ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค˜:

JavaScript
    
      let str = 'Hello, world!';
      console.log(str.substr(0, 5)); // 'Hello'
    
  

11. slice(start, end) ๋ฉ”์„œ๋“œ

๋ฌธ์ž์—ด์˜ ์ผ๋ถ€๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ด์ค˜:

JavaScript
    
      let str = 'Hello, world!';
      console.log(str.slice(0, 5)); // 'Hello'
    
  

12. startsWith(substring) ๋ฉ”์„œ๋“œ

๋ฌธ์ž์—ด์ด ํŠน์ • ๋ถ€๋ถ„ ๋ฌธ์ž์—ด๋กœ ์‹œ์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , true ๋˜๋Š” false๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค˜:

JavaScript
    
      let str = 'Hello, world!';
      console.log(str.startsWith('Hello')); // true
    
  

13. endsWith(substring) ๋ฉ”์„œ๋“œ

๋ฌธ์ž์—ด์ด ํŠน์ • ๋ถ€๋ถ„ ๋ฌธ์ž์—ด๋กœ ๋๋‚˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , true ๋˜๋Š” false๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค˜:

JavaScript
    
      let str = 'Hello, world!';
      console.log(str.endsWith('world!')); // true
    
  

14. repeat(count) ๋ฉ”์„œ๋“œ

์›๋ž˜ ๋ฌธ์ž์—ด์„ ์ง€์ •๋œ ํšŸ์ˆ˜๋งŒํผ ๋ณต์‚ฌํ•œ ์ƒˆ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ด์ค˜:

JavaScript
    
      let str = 'Hello';
      console.log(str.repeat(3)); // 'HelloHelloHello'

      let str2 = '-';
      console.log(str2.repeat(30)); // '---------------------------------------------------------------'
    
  

4.3 ์ƒˆ๋กœ์šด ์„ธ๋Œ€์˜ ๋ฌธ์ž์—ด

ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด(template strings)์€ ์ตœ๊ทผ JavaScript์— ์ถ”๊ฐ€๋์–ด. ๊ธฐ์กด ๋ฌธ์ž์—ด์— ๋น„ํ•ด ๋” ํŽธ๋ฆฌํ•˜๊ณ  ์ฝ๊ธฐ ์‰ฌ์šด ๋ฐฉ๋ฒ•์œผ๋กœ ํ…์ŠคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค˜. ๋ฐฑํ‹ฑ(`)์œผ๋กœ ๊ฐ์‹ธ์ง€๋ฉฐ ํ‘œํ˜„์‹๊ณผ ์—ฌ๋Ÿฌ ์ค„ ํ…์ŠคํŠธ๋ฅผ ์ง€์›ํ•ด.

๊ตฌ๋ฌธ:

    
      `์ƒˆ๋กœ์šด ์„ธ๋Œ€์˜ ๋ฌธ์ž์—ด`
    
  

์˜ˆ์ œ:

ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด greeting์ด ๋ฐฑํ‹ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋˜์—ˆ์–ด.

JavaScript
    
      const greeting = `Hello, World!`;
      console.log(greeting); // "Hello, World!"
    
  

ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด์˜ ์ฃผ์š” ํŠน์ง•:

  • ํ‘œํ˜„์‹ ์‚ฝ์ž…: ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด์€ ${}๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ๋‚ด๋ถ€์— ํ‘œํ˜„์‹๊ณผ ๋ณ€์ˆ˜๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์–ด
  • ์—ฌ๋Ÿฌ ์ค„ ํ…์ŠคํŠธ: ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด์€ ์ค„ ๋ฐ”๊ฟˆ ๊ธฐํ˜ธ ์—†์ด ์—ฌ๋Ÿฌ ์ค„ ํ…์ŠคํŠธ๋ฅผ ์ง€์›ํ•ด
  • ๋‚ด์žฅ ํ‘œํ˜„์‹: ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด ๋‚ด๋ถ€์—์„œ๋Š” JavaScript์˜ ๋ชจ๋“  ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•จ์ˆ˜๋„ ํฌํ•จ๋ผ

ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด ์‚ฌ์šฉ ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ณด์ž.

ํ‘œํ˜„์‹ ์‚ฝ์ž…

ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด์€ ๋ณ€์ˆ˜์˜ ๊ฐ’๊ณผ ํ‘œํ˜„์‹์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฌธ์ž์—ด ๋‚ด๋ถ€์— ์‰ฝ๊ฒŒ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค˜:

JavaScript
    
      let name = "Alice";
      let age = 30;
      let greeting = `Hello, ${name}! You are ${age} years old.`;
      console.log(greeting); // "Hello, Alice! You are 30 years old."
    
  

์ด ์˜ˆ์ œ์—์„œ, ๋ณ€์ˆ˜ name๊ณผ age๋Š” ${}๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ๋‚ด๋ถ€์— ์‚ฝ์ž…๋˜์—ˆ์–ด.

์—ฌ๋Ÿฌ ์ค„ ํ…์ŠคํŠธ

ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด์€ ์ค„ ๋ฐ”๊ฟˆ ๊ธฐํ˜ธ(\n) ์—†์ด ์—ฌ๋Ÿฌ ์ค„ ๋ฌธ์ž์—ด์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด:

JavaScript
    
      let multiLine = `Lorem ipsum odor, consectetuer adipiscing elit.
      Sit lorem mattis eget maximus.`;

      console.log(multiLine);
    
  

๋‚ด์žฅ ํ‘œํ˜„์‹

ํ…œํ”Œ๋ฆฟ ๋ฌธ์ž์—ด ๋‚ด๋ถ€์—์„œ๋Š” JavaScript์˜ ๋ชจ๋“  ํ‘œํ˜„์‹, ํ•จ์ˆ˜ ํ˜ธ์ถœ๊นŒ์ง€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด:

JavaScript
    
      let a = 5;
      let b = 10;
      let result = `The sum of ${a} and ${b} is ${a + b}.`;
      console.log(result); // "The sum of 5 and 10 is 15."

      function getGreeting(name) {
        return `Hello, ${name}!`;
      }

      let greeting = `${getGreeting("Bob")}`;
      console.log(greeting); // "Hello, Bob!"
    
  

๋ฌผ๋ก , ๋ฌธ์ž์—ด ๋‚ด์—์„œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋Š” ๊ฒŒ ์ข‹์ง€๋งŒ, ์ •๋ง ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํ•  ์ˆ˜ ์žˆ์–ด.

์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION