๐ŸŒ WEB

1.ํ†ฐ์บฃ ์„ธ์…˜์„ ์‚ฌ์šฉํ•œ๋‹ค. - ๊ธฐ๋ณธ ์„ ํƒ๋˜๋Š” ๋ฐฉ์‹์ด๋‹ค. - WAS์— ์ €์žฅ๋˜๋Š”๋ฐ 2๋Œ€์ด์ƒ์˜ WAS๋กœ ๊ตฌ๋™๋˜๋Š” ํ™˜๊ฒฝ์—์„œ๋Š” ์ถ”๊ฐ€ ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค. 2.MySQL๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ธ์…˜ ์ €์žฅ์†Œ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. - ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด๋‹ค. - ๋กœ๊ทธ์ธ ์š”์ฒญ์‹œ DB IO๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. 3.Redis ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ DB๋ฅผ ์„ธ์…˜ ์ €์žฅ์†Œ๋กœ ์ด์šฉํ•œ๋‹ค. ์‚ฌ์šฉ๋ฃŒ๋ฅผ ์ง€๋ถˆํ•ด์•ผํ•œ๋‹ค! ์„œ๋น„์Šค๊ฐ€ ์ปค์งˆ๋•Œ ๊ณ ๋ ค! 'org.spirngframework.session:spring-session-jdbc' ๋ฅผ gradle์— ๋“ฑ๋กํ•ด์ฃผ๊ณ  application.prorperties์— spring.session.store-type=jdbc ๋งŒ ๋“ฑ๋กํ•˜์ฃผ๋ฉด jpa๊ฐ€ ์„ธ์…˜ํ…Œ์ด๋ธ”์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ ์„ธ์…˜์ €์žฅ์†Œ๊ฐ€ ์ง€์ •๋œ๋‹ค!
Enum์„ ํ†ตํ•ด ์–ป๋Š” ๊ธฐ๋ณธ์ ์ธ ์žฅ์  ๋ฌธ์ž์—ด๊ณผ ๋น„๊ตํ•ด, IDE์˜ ์ง€์›์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ์ž๋™์™„์„ฑ, ์˜คํƒ€๊ฒ€์ฆ, ํ…์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง ๋“ฑ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ‘๋“ค์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฆฌํŒฉํ† ๋ง์‹œ ๋ณ€๊ฒฝ ๋ฒ”์œ„๊ฐ€ ์ตœ์†Œํ•˜ ๋œ๋‹ค. ๋‚ด์šฉ์˜ ์ถ”๊ฐ€๊ฐ€ ํ•„์š”ํ•ด๋„, Enum์ฝ”๋“œ์™ธ์— ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. Java Enum์ธ ๊ฒฝ์šฐ int๊ฐ’์ด ์•„๋‹ˆ๋ผ ์™„์ „ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ํด๋ž˜์Šค์ด๋‹ค! ์šฐ์„  enumํƒ€์ž…์œผ๋กœ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•ด์•ผํ•œ๋‹ค ์ด์ œ ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ฉด ๋˜๋Š”๋ฐ, ๊ด€๋ก€์ ์œผ๋กœ ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑํ•œ๋‹ค. Entityํด๋ž˜์Šค์— ์„ ์–ธํ•ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ String์ด ์•„๋‹Œ enum์„ ์„ ์–ธํ•œ๋‹ค. JPA๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ @Enumerated(EnumType.SPRING)์„ ์„ ์–ธํ•˜๋ฉด Enumํ•„๋“œ๊ฐ€ ํ…Œ์ด๋ธ”์— ์ €์žฅ์‹œ ์ˆซ์žํ˜•์ด ์•„๋‹Œ, Enum์˜ ์ด๋ฆ„์ด ์ €์žฅ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” GUEST,USER..
์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋Š” ๋ง‰๊ฐ•ํ•œ ์ธ์ฆ๊ณผ ์ธ๊ฐ€ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. ์ธ์ฆ์ด๋ž€, ๋ณดํ˜ธ๋œ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•œ ๋Œ€์ƒ์— ๋Œ€ํ•ด ๋ˆ„๊ตฌ์ธ์ง€, ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด๋„ ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ์ธ๊ฐ€๋ž€, ์ธ์ฆ ์ดํ›„์— ํ•ด๋‹น ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ๋ณด์•ˆ๊ณผ ๊ด€๋ จํ•ด์„œ ์ฒด๊ณ„์ ์œผ๋กœ ๋งŽ์€ ์˜ต์…˜์„ ์ œ๊ณตํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž๊ฐ€ ์ผ์ผ์ด ๋ณด์•ˆ ๊ด€๋ จ ๋กœ์ง์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•ด๋ณด์ž! https://console.cloud.google.com/ ๋กœ ์ ‘์†ํ•ด์„œ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•œ ํ›„ API ๋ฐ ์„œ๋น„์Šค -> ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด OAuth ํด๋ผ์ด์–ธํŠธ ID ํด๋ฆญ! ๋™์˜ ํ™”๋ฉด ์ค‘ ์™ธ๋ถ€/๋‚ด๋ถ€๊ฐ€ ์žˆ๋Š”๋ฐ ์™ธ๋ถ€๋ฅผ ํด๋ฆญํ•œ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฆ„ : ์‚ฌ์šฉ์ž์—๊ฒŒ ๋…ธ์ถœ๋  ์• ํ”Œ๋ฆฌ์ผ€์ด..
์ง€์ •๋œ ํ…œํ”Œ๋ฆฟ ์–‘์‹๊ณผ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•ฉ์ณ์ ธ HTML๋ฌธ์„œ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์„œ๋ฒ„ ํ…œํ”Œ๋ฆฟ ์—”์ง„ - JSP(๋ช…ํ™•ํ•˜๊ฒŒ๋Š” ์•„๋‹˜) ..๋“ฑ ํด๋ผ์ด์–ธํŠธ ํ…œํ”Œ๋ฆฟ ์—”์ง„ - React,Vue ...๋“ฑ ์˜์—ญ๊ณผ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์ด ๋‹ค๋ฅด๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋ธŒ๋ผ์šฐ์ € ์œ„์—์„œ ์ž‘๋™ - ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž‘๋™๋  ๋•Œ๋Š” ์„œ๋ฒ„ ํ…œํ”Œ๋ฆฟ ์—”์ง„์ด ์ œ์–ดํ•  ์ˆ˜ ์—†๋‹ค. - ์„œ๋ฒ„์—์„œ๋Š” Jsonํ˜น์€ xmlํ˜•์‹์˜ ํ…Œ์ดํ„ฐ๋งŒ ์ „๋‹ฌํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์—์„œ ์กฐ๋ฆฝํ•œ๋‹ค.
๊ต์œก๊ณผ์ • ๋™์•ˆ ์–ธ์ œ ๋งŒ๋“ค์–ด์กŒ๋Š”์ง€, ์–ธ์ œ ์ˆ˜์ •๋˜์—ˆ๋Š”์ง€์— ๋”ฐ๋ฅธ ์œ ์ง€๋ณด์ˆ˜ ์ค‘์š”์„ฑ์„ ๋ฐฐ์šฐ์ง„ ๋ชปํ–ˆ๋‹ค. ์ด์ œ ๋ชจ๋ธ๋งํ•  ๋•Œ ๊ณ ๋ คํ•ด์„œ ์งœ์•ผ๊ฒ ๊ตฐ... ๊ฐ™์€ ๋‚ด์šฉ์ธ๋ฐ ๋งค๋ฒˆ DB์— insert/update์„ ํ•˜๊ธฐ์—๋Š” ์ฝ”๋“œ๊ฐ€ ์—ฌ๊ธฐ์ €๊ธฐ ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋‹ˆ๊นŒ ์ƒ์„ฑ๋  ๋•Œ ๊ฐ™์ด ์ƒ์„ฑ๋˜๋ฉด ํŽธ๋ฆฌํ•˜๋‹ค! domain ํด๋”์— BaseTimeEntityํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๋ชจ๋“  Entity์˜ ์ƒ์œ„ ํด๋ž˜์Šค๊ฐ€ ๋˜๊ฒŒ ํ•˜๋ฉด ๋œ๋‹ค. 1. @MappedSpuerclass ๋ฅผ ์ด์šฉํ•˜๋ฉด JPA Entityํด๋ž˜์Šค๋“ค์ด BaseTimeEntity๋ฅผ ์ƒ์†ํ•  ๊ฒฝ์šฐ ํ•„๋“œ๋“ค๋„ ์ปฌ๋Ÿผ์œผ๋กœ ์ธ์‹ํ•˜๋„๋ก ํ•œ๋‹ค. 2. @EntityListeners(AuditingEntityListener.class)๋กœ ํ•ด๋‹น ํด๋ž˜์Šค์— Auditing๊ธฐ๋Šฅ์„ ํฌํ•จํ•œ๋‹ค. 3. @CreatedDate priva..
//postRepository์—์„œ ๋„˜์–ด์˜จ ๊ฒฐ๊ณผ๋ฅผ postsRepository.findAllDesc().stream() //Stream์„ ํ†ตํ•ด map์œผ๋กœ new PostsListResponseDto ์— ๋งคํ•‘ ํ•ด์ค€๋‹ค. //PostsListResponseDto์—์„œ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ postRepository์—์„œ ๋„˜์–ด์˜จ ๊ฒฐ๊ณผ Entity posts๋ฅผ ๋ฐ›๊ณ  ์žˆ์œผ๋ฏ€๋กœ //๊ฒฐ๊ณผ์ ์œผ๋กœ .map(posts -> new PostsListResponseDto(posts)) .map(PostsListResponseDto::new) //collect๋ฅผ ์‚ฌ์šฉํ•ด์„œ List๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. .collect(Collectors.toList()); stream์ด๋ผ๋Š” ๊ฒŒ ์žˆ๋Š” ๊ฒƒ ์กฐ์ฐจ ๋ชฐ๋ผ์„œ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ํ˜ผ๋ž€์Šค๋Ÿฌ์› ๋‹ค ๋žŒ๋‹ค์‹์„ ๋ฐฐ์šด ์ ์ด ์—†์œผ๋‹ˆ. ใ… ..
HTML์€ ์œ„์—์„œ๋ถ€ํ„ฐ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— head๊ฐ€ ์‹คํ–‰๋˜๊ณ  body๊ฐ€ ์‹คํ–‰๋œ๋‹ค. js์˜ ์šฉ๋Ÿ‰์ด ํฌ๋ฉด ํด์ˆ˜๋ก body๋ถ€๋ถ„์˜ ์‹คํ–‰์ด ๋Šฆ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— bodyํ•˜๋‹จ์— ๋‘๋Š”๊ฒŒ ์ข‹๋‹ค css๋Š” ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๋Š” ์—ญํ• ์ด๋ฏ€๋กœ head์—์„œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ์ด ์ข‹๋‹ค + ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์ธ ๊ฒฝ์šฐ ์ œ์ด์ฟผ๋ฆฌ์— ์˜์กด ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ œ์ด์ฟผ๋ฆฌ๋ฅผ ๋จผ์ € ํ˜ธ์ถœํ•˜๋Š”๊ฒŒ ๋˜๋„๋ก ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. + Scriptlet,jstl,el์€ ์„œ๋ฒ„๋‹จ์—์„œ ์‹คํ–‰ ๋˜๋ฉฐ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰๋˜๋Š” Javascript์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ ์ง์ ‘ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์—†๋‹ค. + JAVA>JSTL>HTML>Javscript + jsp์™ธ๋ถ€๋กœ js๋ฅผ ๋นผ๋ฉด ์ž‘๋™์•ˆํ•  ๊ฒ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” jsp๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ์™ธ๋ถ€์—์„œ ์ž„ํฌํŠธ๋˜๋Š” js๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.
JPA๊ฐ€ ๊ด€๊ณ„ํ˜•๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋งž๊ฒŒ SQL์„ ๋Œ€์‹  ์ƒ์„ฑํ•˜์—ฌ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ๋กœ ์‹คํ–‰๋œ ์ฟผ๋ฆฌ์˜ ํ˜•ํƒœ๊ฐ€ ๊ถ๊ธˆํ•  ์ˆ˜ ์žˆ๋‹ค. application.properties๋ฅผ ๋งŒ๋“ค์–ด์ค€ ํ›„ spring.jpa.show_sql = true ๋ฅผ ์ž‘์„ฑํ•ด์ค€๋‹ค. ์งœ๋ž€!
bulid.gradle์— ์˜์กด์„ฑ ๋“ฑ๋กํ•˜๊ธฐ Entity ํด๋ž˜์Šค Entity๊ฐ€ not null์ผ ๊ฒฝ์šฐ Builder๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ํŒจํ„ด์œผ๋กœ ๋งŒ๋“ค๋•Œ Assert.notNull(title, "title must not be null"); Assert๋ฅผ ์ด์šฉํ•ด ๊ฐ์ฒด๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ƒ์„ฑํ•œ๋‹ค Postsํด๋ž˜์Šค๋กœ Database๋ฅผ ์ ‘๊ทผํ•˜๊ฒŒ ํ•ด์ค„ PostsRepository ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ Entityํด๋ž˜์Šค์™€ ๊ฐ™์€ ์œ„์น˜์— ๋งŒ๋“ค์–ด์ค€๋‹ค(*) JpaReopository ๋ฅผ ์ƒ์†ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์ธ CRUD๋ฉ”์†Œ๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ํ™•์ธํ•˜์ž!
@RunWith(SpringRunner.class) ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ JUnit์— ๋‚ด์žฅ๋œ ์‹คํ–‰์ž ์™ธ ๋‹ค๋ฅธ ์‹คํ–‰์ž๋ฅผ ์‹คํ–‰ ์Šคํ”„๋ง ๋ถ€ํŠธ ํ…Œ์ŠคํŠธ - JUnit์‚ฌ์ด์— ์—ฐ๊ฒฐ์ž ์—ญํ• ์„ ํ•จ @WebMvcTest Web์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋Š” ์–ด๋…ธํ…Œ์ด์…˜, @Controller,@ControllerAdvice๋“ฑ Controller์—์„œ ์ด์šฉ ๊ฐ€๋Šฅํ•œ ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. @Autowired ๋นˆ์„ ์ฃผ์ž… MockMvc HTTP์˜ GET,POST๋“ฑ์— ๋Œ€ํ•œ ์›นAPI๋ฅผ ํ…Œ์ŠคํŠธํ•  ๋•Œ ์‚ฌ์šฉ ์™ธ๋ถ€์˜ ๊ฒฐ๊ณผ์— ํฌ๊ฒŒ ์˜์กดํ• ๋•Œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋ถ€ํ„ฐ ํŠน์ • ๊ฐ’์„ ๋ฐ›์„ ๋•Œ, ํŠน์ • ์‹œ๊ฐ์—๋งŒ ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ ๋“ฑ perform() HTTP GET,POST ์š”์ฒญ, ์ฒด์ด๋‹ ์ง€์› andExpect() ์„ ์ด์šฉํ•ด์„œ ๋‹ค์–‘ํ•˜๊ฒŒ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค. assertThat()
Controller @SpringBootApplication ์Šคํ”„๋ง๋ถ€ํŠธ์˜ ์ž๋™ ์„ค์ •, ์Šคํ”„๋ง Bean ์ฝ๊ธฐ์™€ ์ƒ์„ฑ์„ ๋ชจ๋‘ ์ž๋™์œผ๋กœ ์„ค์ •ํ•จ ํ•ด๋‹น class์— ์žˆ๋Š” ์œ„์น˜๋ถ€ํ„ฐ ์„ค์ •์„ ์ฝ์–ด ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ํ”„๋กœ์ ํŠธ์˜ ์ตœ์ƒ๋‹จ์— ์œ„์น˜ํ•ด์•ผ ํ•จ. SpringBootApplication.run() ์Šคํ”„๋ง๋ถ€ํŠธ์˜ ๋‚ด์žฅ was์ด๋‹ค. ์™ธ์žฅ was๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋˜์ง€๋งŒ ๋‚ด์žฅ was ์‚ฌ์šฉ ๊ถŒ๊ณ  (์–ธ์ œ ์–ด๋””์„œ๋‚˜ ๊ฐ™์€ ํ™˜๊ฒฝ์—์„œ ์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ๋ฐฐํฌ) ์„ฑ๋Šฅ์ƒ ์ด์Šˆ : ํ†ฐ์บฃ ์—ญ์‹œ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‹ค. ๋˜‘๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ํฌ๊ฒŒ ๊ณ ๋ คํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. @RestController ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ JSON์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋งŒ๋“ค์–ด ์คŒ ์˜ˆ์ „์—๋Š” @ResposeBody๋ฅผ ๊ฐ ๋ฉ”์†Œ๋“œ๋งˆ๋‹ค ์„ ์–ธ ํ–ˆ๋˜๊ฒƒ์„ ํ•œ๋ฒˆ์— ์‚ฌ์šฉํ•  ์ˆ˜ ..
JavaScript์—์„œ์˜ ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐฉ์‹ ์ค‘ var, const, let์˜ ์ฐจ์ด์  ๋จผ์ € Hoisting๊ณผ Scope์˜ ๊ฐœ๋…์ด ํ•„์š”ํ•˜๋‹ค. Hoisting Hoist๋ž€ ๋ณ€์ˆ˜์˜ ์ •์˜๊ฐ€ ๋ฒ”์œ„์— ๋”ฐ๋ผ ์„ ์–ธ, ์ดˆ๊ธฐํ™”, ํ• ๋‹น ๋ถ„๋ฆฌ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ (์ „์—ญ๋ณ€์ˆ˜์™€ ์ง€์—ญ๋ณ€์ˆ˜) Scope - ์ „์—ญ ์Šค์ฝ”ํ”„, ์ง€์—ญ ์Šค์ฝ”ํ”„ 1. var ๋ณ€์ˆ˜ ์„ ์–ธ์˜ ๊ฒฝ์šฐ ์œ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค. function scope 2. const ๋ณ€์ˆ˜์— ์žฌ์„ ์–ธ, ์žฌํ• ๋‹น ๋ถˆ๊ฐ€ block scope ์ง€์—ญ ์Šค์ฝ”ํ”„ 3. let ๋ณ€์ˆ˜์— ์žฌํ• ๋‹น ๊ฐ€๋Šฅ block scope ES6์—์„œ๋Š” var๋ณด๋‹ค๋Š” const์™€ let์„ ์‚ฌ์šฉํ•ด์„œ ์ •ํ™•ํ•œ ๋ณ€์ˆ˜ ์‚ฌ์šฉ์„ ๊ถŒํ•œ๋‹ค.
์• ์ •์“ฐ
'๐ŸŒ WEB' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (5 Page)