๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’Ž/๋ถ€์ŠคํŠธ์ฝ”์Šค

[๋ถ€์ŠคํŠธ์ฝ”์Šค] ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ FE: JavaScript 2 ๋น„๊ต-๋ฐ˜๋ณต-๋ฌธ์ž์—ด

by dar0m! 2020. 2. 21.

๋ฒŒ์จ 2. DB ์—ฐ๊ฒฐ ์›น ์•ฑ ํŒŒํŠธ์— ๋“ค์–ด๊ฐ€๋ฉด์„œ ์•„๋ž˜ ํ•™์Šต ๋ชฉํ‘œ๋“ค์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋ฐฐ์šฐ๊ฒŒ ๋˜๋Š”๋ฐ ์˜ค๋Š˜์€ ๊ทธ ์ค‘ JavaScript์˜ ๋น„๊ต-๋ฐ˜๋ณต-๋ฌธ์ž์—ด์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•™์Šต ๋ชฉํ‘œ

  1. JavaScript์˜ ๊ธฐ๋ณธ๋ฌธ๋ฒ•์„ ์ดํ•ดํ•œ๋‹ค.
  2. DOM, Browser Event, Ajax์ด ๊ฐ๊ฐ ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•˜๊ณ , ์ด๋ฅผ ํ™œ์šฉํ•ด ์›นํ™”๋ฉด์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.
  3. JSP์˜ ๋ผ์ดํ”„์‚ฌ์ดํด์„ ์ดํ•ดํ•˜๊ณ  redirect & forward ์™€ scope๋ฅผ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 
  4. JSTL๊ณผ EL์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 
  5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ฐ„๋‹จํ•œ SQL์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 
  6. Maven์„ ์ดํ•ดํ•˜๊ณ  Maven์„ ์ด์šฉํ•œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. 
  7. JDBC ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. 
  8. Web API๋ฅผ ์ดํ•ดํ•œ๋‹ค. 
 

[LECTURE] 2) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๊ต-๋ฐ˜๋ณต-๋ฌธ์ž์—ด : edwith

๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์ด๋ฒˆ์— ๋‚˜์˜ค๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฌธ๋ฒ•๋“ค์€ ๋‹ค๋ฅธ ์–ธ์–ด์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. if, switch ๋ถ„๊ธฐ๋ฌธ์ด๋‚˜, for, while๋ฌธ์€ ํฌ๊ฒŒ ๋‹ค๋ฅธ ๋ถ€๋ถ„์€ ์—†์Šต๋‹ˆ๋‹ค.  ๋ฌธ์ž์—ด์ฒ˜๋ฆฌ๋Š” ์ •๊ทœ... - ๋ถ€์ŠคํŠธ์ฝ”์Šค

www.edwith.org

 

2) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋น„๊ต-๋ฐ˜๋ณต-๋ฌธ์ž์—ด

ํ•™์Šต ๋ชฉํ‘œ

  1. ๋ถ„๊ธฐ, ๋ฐ˜๋ณต๋ฌธ์„ ๋‹ค๋ฃฌ๋‹ค.
  2. ๊ฐ„๋‹จํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ์ž์—ด ์กฐ์ž‘(parsing)์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•ต์‹ฌ ๊ฐœ๋…

  • If
  • switch
  • for
  • while
  • String replace๋ฉ”์„œ๋“œ

 

 

์กฐ๊ฑด๋ฌธ

์กฐ๊ฑด๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์ด ์ฐธ์ธ ๊ฒฝ์šฐ์— ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. JavaScript๋Š” ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด๋ฌธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค: if...else and switch.
  • if else
  • switch

๋น„๊ต๋ฌธ: if else ๋ฌธ

ํŠน์ • ์กฐ๊ฑด์ด ์ฐธ์ธ ๊ฒฝ์šฐ ๋ฌธ์žฅ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด if ๋ฌธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์„ ํƒ์ ์œผ๋กœ ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ธ ๊ฒฝ์šฐ ๋ฌธ์žฅ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” else ์ ˆ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ฑด์ด ์—ฌ๋Ÿฌ๊ฐœ์ผ ๋•Œ๋Š” else if๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
if (condition_1) {
  statement_1;
else if (condition_2) {
  statement_2;
else if (condition_n) {
  statement_n;
else {
  statement_last;
}
cs

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์€ ๊ฑฐ์ง“์œผ๋กœ ํ‰๊ฐ€๋ฉ๋‹ˆ๋‹ค:

  • false
  • undefined
  • null
  • 0
  • NaN
  • the empty string ("")

์กฐ๊ฑด๋ฌธ์— ์ „๋‹ฌ๋˜์—ˆ์„ ๋•Œ ๋ชจ๋“  ๊ฐœ์ฒด๋ฅผ ํฌํ•จํ•˜์—ฌ ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฐ’์€ ์ฐธ์œผ๋กœ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

if...else๋ฌธ ๋Œ€์‹  ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ๋Œ€์‹ ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋ถ„๊ธฐ - switch

๋กœ์ง์„ ๋ถ„๊ธฐํ•˜๊ธฐ ์œ„ํ•ด์„œ if๋ฌธ ์ด์™ธ์—๋„ switch ๋ฌธ์„ ํ†ตํ•ด์„œ๋„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ€์ด์Šค๊ฐ€ ๋ช…ํ™•ํžˆ ์žˆ๊ณ  ์ฃผ์–ด์ง„ ์ผ€์ด์Šค์— ๋Œ€ํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฐœ๋…์œผ๋กœ ๊ฐ€๋…์„ฑ์ด ์ข‹๊ณ  ๋Œ€๋“ฑํ•œ๊ฒƒ๋“ค์ด ๋‚˜์—ดํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

default ์ ˆ์„ ๋ชป ์ฐพ๊ฒŒ ๋œ๋‹ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์˜ switch๋ฌธ์€ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. break๋ฌธ์€ ํ”„๋กœ๊ทธ๋žจ์˜ switch๋ฌธ์„ ๋ฒ—์–ด๋‚˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ break๋ฌธ์ด ์ƒ๋žต๋œ๋‹ค๋ฉด ๊ทธ ํ”„๋กœ๊ทธ๋žจ์€ switch๋ฌธ์•ˆ์—์„œ ๋‹ค์Œ ๋ฌธ์žฅ์„ ๊ณ„์† ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
switch (fruittype) {
  case "Oranges":
    console.log("Oranges are $0.59 a pound.");
    break;
  case "Apples":
    console.log("Apples are $0.32 a pound.");
    break;
  case "Bananas":
    console.log("Bananas are $0.48 a pound.");
    break;
  case "Cherries":
    console.log("Cherries are $3.00 a pound.");
    break;
  case "Mangoes":
    console.log("Mangoes are $0.56 a pound.");
    break;
  case "Papayas":
    console.log("Mangoes and papayas are $2.79 a pound.");
    break;
  default:
   console.log("Sorry, we are out of " + fruittype + ".");
}
console.log("Is there anything else you'd like?");
cs

 

 

์ œ์–ด ํ๋ฆ„๊ณผ ์—๋Ÿฌ ์ฒ˜๋ฆฌ

JavaScript๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ฉํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ จ์˜ ๋ฌธ๋ฒ•, ํŠนํžˆ ์ œ์–ดํ๋ฆ„ ๋ฌธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด ์žฅ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ๋ฒ•์˜ ๊ฐœ์š”๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

developer.mozilla.org

 

๋ฐ˜๋ณต๋ฌธ

  • for
  • while
  • forEach
  • for in
  • for of

for ๋ฌธ์ด๋‚˜ while๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฐ˜๋ณต๋ฌธ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ for๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

for ๋ฌธ

for ๋ฐ˜๋ณต๋ฌธ์€ ์–ด๋–ค ํŠน์ •ํ•œ ์กฐ๊ฑด์ด ๊ฑฐ์ง“์œผ๋กœ ํŒ๋ณ„๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฐ˜๋ณต๋ฌธ์€ C์˜ ๋ฐ˜๋ณต๋ฌธ๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. for ๋ฐ˜๋ณต๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

for ([์ดˆ๊ธฐ๋ฌธ]; [์กฐ๊ฑด๋ฌธ]; [์ฆ๊ฐ๋ฌธ]) ๋ฌธ์žฅ
1
2
3
4
5
6
7
8
9
function howMany(selectObject) {
  var numberSelected = 0;
  for (var i = 0; i < selectObject.options.length; i++) {
    if (selectObject.options[i].selected) {
      numberSelected++;
    }
  }
  return numberSelected;
}
cs

 

forEach

forEach๋Š” for๋ฌธ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฐ˜๋ณต์ ์ธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ for๋ฌธ์ฒ˜๋Ÿผ index์™€ ์กฐ๊ฑด์‹, increase๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์•„๋„ callback ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
for๋ฌธ์— ๋น„ํ•ด ์ข€ ๋” ๊น”๋”ํ•˜๊ณ  ์ง๊ด€์ ์ž…๋‹ˆ๋‹ค. ๋ณ€์น™์—†์ด arr๋‚ด ๋ชจ๋“  ์š”์†Œ๋“ค์ด callback์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
const arr = [0,1,2,3,4,5,6,7,8,9,10];
 
arr.forEach(function(element){
    console.log(element); // 0 1 2 3 4 5 6 7 8 9 10
});
// ํ˜น์€ arrow ํ•จ์ˆ˜ ๊ฐ€๋Šฅ
arr.forEach(element => console.log(element));
cs

 

for...in ๋ฌธ

for...in  ๋ฌธ์€ ๊ฐ์ฒด์˜ ์—ด๊ฑฐ ์†์„ฑ์„ ํ†ตํ•ด ์ง€์ •๋œ ๋ณ€์ˆ˜๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๊ณ ์œ ํ•œ ์†์„ฑ์— ๋Œ€ํ•ด, JavaScript๋Š” ์ง€์ •๋œ ๋ฌธ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. for...in ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

1
2
3
4
5
6
7
8
function dump_props(obj, obj_name) {
  var result = "";
  for (var i in obj) {
    result += obj_name + "." + i + " = " + obj[i] + "<br>";
  }
  result += "<hr>";
  return result;
}
cs

 

for...of ๋ฌธ

for...of ๋ฌธ์€ ๊ฐ๊ฐ์˜ ๊ณ ์œ ํ•œ ํŠน์„ฑ์˜ ๊ฐ’์„ ์‹คํ–‰ํ•  ๋ช…๋ น๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ์ž ์ง€์ • ๋ฐ˜๋ณต ํ›„ํฌ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ, ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด(๋ฐฐ์—ด, Map, Set, ์ธ์ˆ˜ ๊ฐ์ฒด ๋“ฑ์„ ํฌํ•จ)๋ฅผ ํ†ตํ•ด ๋ฐ˜๋ณตํ•˜๋Š” ๋ฃจํ”„๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ˆ๋Š” for of ์™€ for in ๋ฃจํ”„์˜ ์ฐจ์ด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์†์„ฑ ์ด๋ฆ„์„ ํ†ตํ•ด for in์ด ๋ฐ˜๋ณตํ•˜๋Š” ๋™์•ˆ, for of๋Š” ์†์„ฑ ๊ฐ’์„ ํ†ตํ•ด ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
let arr = [357];
arr.foo = "hello";
 
for (let i in arr) {
   console.log(i); // logs "0", "1", "2", "foo"
}
 
for (let i of arr) {
   console.log(i); // logs "3", "5", "7"
}
cs

 

for in์™€ ๊ฐ™์€ ๋ฉ”์„œ๋“œ์˜ ์‚ฌ์šฉ๋ฒ•์ด ์ต์ˆ™ํ•˜์ง€ ์•Š๋‹ค๋ฉด, ์šฐ์„ ์€ for๋ฌธ์œผ๋กœ ๋ฐฐ์—ด์„ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

 

 

๋ฃจํ”„์™€ ๋ฐ˜๋ณต

๋ฃจํ”„๋Š” ์–ด๋–ค ๊ฒƒ์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹œํ–‰ํ• ๋•Œ ๋น ๋ฅด๊ณ  ๊ฐ„ํŽธํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. JavaScript Guide์˜ ์ด ์ณ…ํ„ฐ๋Š” JavaScript ์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์„œ๋กœ๋‹ค๋ฅธ ๋ฐ˜๋ณต๋ฌธ์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

developer.mozilla.org

 

๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ

  • split
  • replace
  • trim

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฌธ์ž์™€ ๋ฌธ์ž์—ด์€ ๊ฐ™์€ ํƒ€์ž…์œผ๋กœ ๋ชจ๋‘ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.

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

split

.split()์€ ๋ฌธ์ž์—ด์„ ๋ถ„ํ• ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.

string.split(separator , limit)

separator์—๋Š” ๋ถ„ํ• ์˜ ๊ธฐ์ค€์„ ๋„ฃ์Šต๋‹ˆ๋‹ค. ์‰ผํ‘œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ถ„ํ• ํ•  ๋•Œ๋Š” ','์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. limit์œผ๋กœ ์ตœ๋Œ€ ๋ถ„ํ•  ๊ฐœ์ˆ˜๋ฅผ ์ •ํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ ์‚ฌํ•ญ์œผ๋กœ, ๊ฐ’์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ „์ฒด๋ฅผ ๋‹ค ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค.

1
"ab:cd".split(":"); //["ab","cd"]
cs

replace

.replace()๋Š” ํŠน์ • ๋ฌธ์ž์—ด์„ ์ฐพ์•„ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.

string.replace('string1' , 'string2')

string์—์„œ string1์„ ์ฐพ์•„ string2๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

1
"ab:cd".replace(":""$"); //"ab$cd"
cs

trim

.trim()์€ ๋ฌธ์ž์—ด ์ขŒ์šฐ์—์„œ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ trim() ํ•จ์ˆ˜ ์ž…๋‹ˆ๋‹ค.

1
" abcde  ".trim();  //"abcde"
cs

 

 

JavaScript / Object / String.split() - ๋ฌธ์ž์—ด ๋ถ„ํ• ํ•˜๋Š” ๋ฉ”์„œ๋“œ

.split() .split()์€ ๋ฌธ์ž์—ด์„ ๋ถ„ํ• ํ•˜๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. ๋ฌธ๋ฒ• string.split( separator, limit ) 1 string.split( separator, limit ) [...]

www.codingfactory.net

 

 

[๋ณด๊ฐ•]

๋ฐ˜๋Œ€๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ๋™์ž‘์‹œํ‚ค๋Š”(reverse iteration์ด๋ผ๊ณ  ํ•จ) ๊ฒฝ์šฐ๊ฐ€ ์‹ค์ œ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์–ผ๋งˆ๋‚˜ ์„ฑ๋Šฅ์ฐจ์ด๊ฐ€ ์žˆ์„๊นŒ์š”?

 ํ˜„๋Œ€์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ๋ฐ˜๋ณต๋ฌธ์„ ์ตœ๋Œ€ํ•œ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ์™”์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์‹คํ—˜์„ ํ•ด๋ณด๋ฉด ๊ทธ ์ฐจ์ด๊ฐ€ ๋ฏธ๋ฏธํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ for๋ฌธ์„ ๋ฌด์กฐ๊ฑด ๋ฐ˜๋Œ€๋กœ ๊ตฌํ˜„ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์ด์™ธ์—๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ตฌํ˜„๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ (for ๊ฐ€ ๋น ๋ฅผ๊นŒ while ๋น ๋ฅผ๊นŒ? ๋“ฑ) ์„ฑ๋Šฅ์ฐจ์ด๋Š” ๊ทธ๋ฆฌ ํฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์— ์ข€๋” ์šฐ์„ ์ง‘์ค‘ํ•˜๋Š” ๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ, ๋ฌธ์ž์—ด์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋” ๋‚˜์•„๊ฐ€ ์ •๊ทœํ‘œํ˜„์‹์ด๋ผ๋Š” ๊ฒƒ๋„ ์žˆ๋Š”๋ฐ ์ •๊ทœํ‘œํ˜„์‹์— ๊ด€๋ จ๋œ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ธฐํšŒ์— ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ณ  ๋‹ค์Œ์‹œ๊ฐ„์—๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€