์ •๊ทœ์‹ Test Method์— ๋Œ€ํ•ด ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ๋œ ์ 

๐Ÿ˜ฑ ๋ฌธ์ œ๋ฐœ์ƒ

์›ํ‹ฐ๋“œ ํ”„๋ฆฌ์˜จ๋ณด๋”ฉ ํ”„๋ก ํŠธ์—”๋“œ ์ธํ„ด์‹ญ์— ์ฐธ์—ฌํ•˜์—ฌ 1์ฃผ์ฐจ ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋˜ ์ค‘์ด์—ˆ๋‹ค.
1์ฃผ์ฐจ ๊ณผ์ œ๋Š” ์ธํ„ด์‹ญ์— ์ฐธ์—ฌํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ–ˆ๋˜ ์‚ฌ์ „๊ณผ์ œ๋ฅผ ๋™๋ฃŒํ•™์Šต์„ ํ†ตํ•ด ๋ฆฌํŒฉํ† ๋ง ํ•˜๋Š” ๊ฒƒ์ด์˜€๊ณ , ๋‚˜๋Š” ํŒ€์›๋“ค๊ณผ์˜ ํ† ์˜๋กœ ์–ป์€ Best Practice์˜ ๊ธฐ์ค€์„ ๊ฐ€์ง€๊ณ  Assignment1์˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ๋งก์•„ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.

  • Assignment 1
    • ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€์— ์ด๋ฉ”์ผ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ์˜ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”
      • ์ด๋ฉ”์ผ ์กฐ๊ฑด: @ ํฌํ•จ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์กฐ๊ฑด: 8์ž ์ด์ƒ
    • ์ž…๋ ฅ๋œ ์ด๋ฉ”์ผ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด button์— disabled ์†์„ฑ์„ ๋ถ€์—ฌํ•ด์ฃผ์„ธ์š”

Assignment 1์˜ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ •๊ทœ์‹์„ ์ด์šฉํ•˜๋Š”๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๋ผ๋Š” ์˜๊ฒฌ์„ ์ˆ˜์šฉํ•ด, password: /^.{8,}$/g์˜ ์ •๊ทœ์‹์„ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธ์„ ํ•˜๋Š”๋ฐ ๊ฐ‘์ž๊ธฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

๋ฌธ์ œ

8์ž๋ฆฌ์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ–ˆ์„๋•Œ error message๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์‚ฌ๋ผ์ง€๊ธธ๋ž˜ ๊ฒ€์ฆ์ด ์ž˜ ๋˜๋Š”๊ตฌ๋‚˜ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์ถ”๊ฐ€์ ์œผ๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ• ๋•Œ ๋งˆ๋‹ค error message๊ฐ€ ์ƒ๊ฒผ๋‹ค ์—†์–ด์กŒ๋‹ค ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ• ๋•Œ๋งˆ๋‹ค ์ •๊ทœ์‹์œผ๋กœ ๊ฒ€์ฆํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ”๋€๋‹ค๋Š” ๊ฒƒ์ด์˜€๋Š”๋ฐ, ํ˜น์‹œ๋‚˜ํ•ด์„œ ์ •๊ทœ์‹์œผ๋กœ ๊ฒ€์ฆํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด์•˜๋‹ค.

๊ฐœ๋ฐœ์ž๋„๊ตฌ๋กœ ์ฐ์–ด๋ณธ ์ •๊ทœ์‹ ํ…Œ์ŠคํŠธ

๊ฐ™์€ ์ •๊ทœ์‹์œผ๋กœ ๊ฐ™์€ ๊ฐ’์„ ๊ฒ€์‚ฌํ–ˆ๋Š”๋ฐ๋„ ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋ฐ”๋€Œ๋Š” ํ˜„์ƒ์ด ์ผ์–ด๋‚ฌ๋Š”๋ฐ, ์•„๋ฌด๋ฆฌ ์ƒ๊ฐํ•ด๋„ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•„ ChatGPT๋ฅผ ํ†ตํ•ด ์งˆ๋ฌธ์„ ํ•ด ๋ณธ ๊ฒฐ๊ณผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ต์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ChatGPT ๋‹ต๋ณ€

๐Ÿ˜Š ๋ฌธ์ œํ•ด๊ฒฐ

ChatGPT ๋‹ต๋ณ€์„ ๋ฐ”ํƒ•์œผ๋กœ ์กฐ๊ธˆ ๋” ์ดํ•ด๋ฅผ ์œ„ํ•ด ๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋‹ˆ RegExp.prototype.test()์˜ ๋Œ€ํ•œ MDN ๋ฌธ์„œ์—์„œ ์ „์—ญ ํ”Œ๋ž˜๊ทธ์™€ test()๋ผ๋Š” ํ•ญ๋ชฉ์œผ๋กœ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด์ฃผ๋ฉฐ ์„ค๋ช…์„ ํ•ด์ฃผ๊ณ  ์žˆ์–ด ์™œ ์ด๋Ÿฐ ํ˜„์ƒ์ด ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์ •๊ทœ ํ‘œํ˜„์‹์— ์ „์—ญ ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•œ ๊ฒฝ์šฐ, test() ๋ฉ”์„œ๋“œ๋Š” ์ •๊ทœ ํ‘œํ˜„์‹์˜ lastIndex๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  test()์„ ๋‹ค์‹œ ํ˜ธ์ถœํ•˜๋ฉด str ๊ฒ€์ƒ‰์„ lastIndex๋ถ€ํ„ฐ ๊ณ„์† ์ง„ํ–‰ํ•˜๋Š”๋ฐ, lastIndex ์†์„ฑ์€ test()๊ฐ€ true๋ฅผ ๋ฐ˜ํ™˜ํ•  ๋•Œ๋งˆ๋‹ค ์ฆ๊ฐ€ํ•˜๊ณ  test()๊ฐ€ false๋ฅผ ๋ฐ˜ํ™˜ํ•  ๋• 0์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜์–ด ๊ฒฐ๊ณผ๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋ฐ”๋€Œ๋˜ ๊ฒƒ์ด์˜€๋‹ค.

exec() ๋ฉ”์„œ๋“œ๋„ test() ๋ฉ”์„œ๋“œ์ฒ˜๋Ÿผ ์ „์—ญ ํƒ์ƒ‰ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ œ๊ณตํ•œ ์ •๊ทœ ํ‘œํ˜„์‹์—์„œ ์—ฌ๋Ÿฌ ๋ฒˆ ํ˜ธ์ถœํ•˜๋ฉด ์ด์ „ ์ผ์น˜ ์ดํ›„๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•œ๋‹ค๊ณ  ํ•˜๋‹ˆ ์ •๊ทœ์‹์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

์ •๊ทœ์‹์ด ์ •๋ง ์œ ์šฉํ•œ๊ฒƒ์€ ์•Œ์ง€๋งŒ ํ•ญ์ƒ ์–ด๋ ต๊ฒŒ ๋Š๊ปด์ง€๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜๋„ ์ด๋ ‡๊ฒŒ ์ •๊ทœ์‹์— ๋Œ€ํ•ด ์•Œ์•„๋ณผ ๊ธฐํšŒ๊ฐ€ ์žˆ์„ ๋•Œ ๋งˆ๋‹ค ์ž˜ ์ •๋ฆฌํ•ด์„œ ๋Šฅ์ˆ™ํ•ด์ง€๋ ค๊ณ  ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ๋‹ค!

์ฐธ๊ณ