์ ๊ท์ Test Method์ ๋ํด ์๋กญ๊ฒ ์๊ฒ๋ ์
๐ฑ ๋ฌธ์ ๋ฐ์
์ํฐ๋ ํ๋ฆฌ์จ๋ณด๋ฉ ํ๋ก ํธ์๋ ์ธํด์ญ์ ์ฐธ์ฌํ์ฌ 1์ฃผ์ฐจ ๊ณผ์ ๋ฅผ ์งํํ๋ ์ค์ด์๋ค.
1์ฃผ์ฐจ ๊ณผ์ ๋ ์ธํด์ญ์ ์ฐธ์ฌํ๊ธฐ ์ํด ์ํํ๋ ์ฌ์ ๊ณผ์ ๋ฅผ ๋๋ฃํ์ต์ ํตํด ๋ฆฌํฉํ ๋ง ํ๋ ๊ฒ์ด์๊ณ , ๋๋ ํ์๋ค๊ณผ์ ํ ์๋ก ์ป์ Best Practice์ ๊ธฐ์ค์ ๊ฐ์ง๊ณ Assignment1์ ๊ธฐ๋ฅ ๊ตฌํ์ ๋งก์ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์์๋ค.
- Assignment 1
- ํ์๊ฐ์
๊ณผ ๋ก๊ทธ์ธ ํ์ด์ง์ ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ์ ์ ํจ์ฑ ๊ฒ์ฌ๊ธฐ๋ฅ์ ๊ตฌํํด์ฃผ์ธ์
- ์ด๋ฉ์ผ ์กฐ๊ฑด: @ ํฌํจ, ๋น๋ฐ๋ฒํธ ์กฐ๊ฑด: 8์ ์ด์
- ์ ๋ ฅ๋ ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๊ฐ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํต๊ณผํ์ง ๋ชปํ๋ค๋ฉด button์ disabled ์์ฑ์ ๋ถ์ฌํด์ฃผ์ธ์
- ํ์๊ฐ์
๊ณผ ๋ก๊ทธ์ธ ํ์ด์ง์ ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ์ ์ ํจ์ฑ ๊ฒ์ฌ๊ธฐ๋ฅ์ ๊ตฌํํด์ฃผ์ธ์
Assignment 1์ ์ ํจ์ฑ ๊ฒ์ฆ์ ๊ตฌํํ๊ธฐ ์ํด ์ ๊ท์์ ์ด์ฉํ๋๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค๋ผ๋ ์๊ฒฌ์ ์์ฉํด, password: /^.{8,}$/g
์ ์ ๊ท์์ ํตํด ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ ์์ ์ผ๋ก ๋์ํ๋์ง ํ์ธ์ ํ๋๋ฐ ๊ฐ์๊ธฐ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
8์๋ฆฌ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ์๋ error message๊ฐ ์ ์์ ์ผ๋ก ์ฌ๋ผ์ง๊ธธ๋ ๊ฒ์ฆ์ด ์ ๋๋๊ตฌ๋ ์๊ฐํ๋๋ฐ, ์ถ๊ฐ์ ์ผ๋ก ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ ๋ ๋ง๋ค error message๊ฐ ์๊ฒผ๋ค ์์ด์ก๋ค ํ๋ ๊ฒ์ด๋ค. ์ฆ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ ๋๋ง๋ค ์ ๊ท์์ผ๋ก ๊ฒ์ฆํ ๊ฒฐ๊ณผ๊ฐ ๋ฐ๋๋ค๋ ๊ฒ์ด์๋๋ฐ, ํน์๋ํด์ ์ ๊ท์์ผ๋ก ๊ฒ์ฆํ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํตํด ์ดํด๋ณด์๋ค.
๊ฐ์ ์ ๊ท์์ผ๋ก ๊ฐ์ ๊ฐ์ ๊ฒ์ฌํ๋๋ฐ๋ ๊ทธ ๊ฒฐ๊ณผ๊ฐ ๊ณ์ํด์ ๋ฐ๋๋ ํ์์ด ์ผ์ด๋ฌ๋๋ฐ, ์๋ฌด๋ฆฌ ์๊ฐํด๋ ์ดํด๊ฐ ๋์ง ์์ ChatGPT๋ฅผ ํตํด ์ง๋ฌธ์ ํด ๋ณธ ๊ฒฐ๊ณผ ๋ค์๊ณผ ๊ฐ์ ๋ต์ ๋ฐ์ ์ ์์๋ค.
๐ ๋ฌธ์ ํด๊ฒฐ
ChatGPT ๋ต๋ณ์ ๋ฐํ์ผ๋ก ์กฐ๊ธ ๋ ์ดํด๋ฅผ ์ํด ๊ฒ์์ ํด๋ณด๋ RegExp.prototype.test()
์ ๋ํ MDN ๋ฌธ์์์ ์ ์ญ ํ๋๊ทธ์ test()
๋ผ๋ ํญ๋ชฉ์ผ๋ก ์์๋ฅผ ๋ค์ด์ฃผ๋ฉฐ ์ค๋ช
์ ํด์ฃผ๊ณ ์์ด ์ ์ด๋ฐ ํ์์ด ๋ฐ์ํ๋์ง ์ ์ ์์๋ค.
์ ๊ท ํํ์์ ์ ์ญ ํ๋๊ทธ๋ฅผ ์ค์ ํ ๊ฒฝ์ฐ, test()
๋ฉ์๋๋ ์ ๊ท ํํ์์ lastIndex
๋ฅผ ์
๋ฐ์ดํธํ๊ณ test()
์ ๋ค์ ํธ์ถํ๋ฉด str ๊ฒ์์ lastIndex
๋ถํฐ ๊ณ์ ์งํํ๋๋ฐ, lastIndex
์์ฑ์ test()
๊ฐ true๋ฅผ ๋ฐํํ ๋๋ง๋ค ์ฆ๊ฐํ๊ณ test()๊ฐ false๋ฅผ ๋ฐํํ ๋ 0์ผ๋ก ์ด๊ธฐํ๋์ด ๊ฒฐ๊ณผ๊ฐ ๊ณ์ํด์ ๋ฐ๋๋ ๊ฒ์ด์๋ค.
exec()
๋ฉ์๋๋ test()
๋ฉ์๋์ฒ๋ผ ์ ์ญ ํ์ ํ๋๊ทธ๋ฅผ ์ ๊ณตํ ์ ๊ท ํํ์์์ ์ฌ๋ฌ ๋ฒ ํธ์ถํ๋ฉด ์ด์ ์ผ์น ์ดํ๋ถํฐ ํ์ํ๋ค๊ณ ํ๋ ์ ๊ท์์ ์ฌ์ฉํ ๋ ์ฃผ์ํด์ผ ํ ๊ฒ ๊ฐ๋ค.
์ ๊ท์์ด ์ ๋ง ์ ์ฉํ๊ฒ์ ์์ง๋ง ํญ์ ์ด๋ ต๊ฒ ๋๊ปด์ง๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋๋ ์ด๋ ๊ฒ ์ ๊ท์์ ๋ํด ์์๋ณผ ๊ธฐํ๊ฐ ์์ ๋ ๋ง๋ค ์ ์ ๋ฆฌํด์ ๋ฅ์ํด์ง๋ ค๊ณ ๋ ธ๋ ฅํด์ผ๊ฒ ๋ค!