πŸ’‘ Template Literals

- ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄μ€ λ‚΄μž₯된 ν‘œν˜„μ‹μ„ ν—ˆμš©ν•˜λŠ” λ¬Έμžμ—΄ λ¦¬ν„°λŸ΄μž…λ‹ˆλ‹€.

- μ—¬κΈ°μ„œ λ¦¬ν„°λŸ΄(Literal)은 λ³€ν•˜μ§€ μ•ŠλŠ” 데이터λ₯Ό μ˜λ―Έν•œλ‹€.

- 고둜 ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄μ€ ν‘œν˜„μ‹μ„ 가지고 μžˆλŠ” λ¬Έμžμ—΄ λ¦¬ν„°λŸ΄μ΄λΌλŠ” 것이닀.

- ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄μ€ λ°±ν‹±(`` , 숫자 1 μ˜†μ— μžˆλ‹€)(grave accent)κ³Ό ${expression}으둜 κ΅¬μ„±λœλ‹€. 

 

[νŠΉμ§•]

- 항상 λ¬Έμžμ—΄μ„ μ‚¬μš©ν•˜μ—¬ μ€„λ°”κΏˆ ν•  λ•Œ \n을 μ‚¬μš©ν–ˆμ§€λ§Œ ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄μ€ κ·Έλƒ₯ μ—”ν„°λ₯Ό μ‚¬μš©ν•˜μ—¬ 띄어주면 λœλ‹€.

- λ°±ν‹±(``)을 μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ— μž‘μŒλ”°μ˜΄ν‘œ(''), ν°λ”°μ˜΄ν‘œ("")λ₯Ό μ΄μŠ€μΌ€μ΄μŠ€λ¬Έ 없이 μ‚¬μš©ν• μˆ˜ μžˆλ‹€. 

πŸ’‘ μ˜ˆμ‹œ

var a = 5;
var b = 10;
console.log(`Fifteen is ${a + b} and
not ${2 * a + b}.`);
// "Fifteen is 15 and
// not 20."

 

 

 

 

 

μ°Έκ³ )

developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Template_literals

 

Template literals - JavaScript | MDN

ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄μ€ λ‚΄μž₯된 ν‘œν˜„μ‹μ„ ν—ˆμš©ν•˜λŠ” λ¬Έμžμ—΄ λ¦¬ν„°λŸ΄μž…λ‹ˆλ‹€. μ—¬λŸ¬ μ€„λ‘œ 이뀄진 λ¬Έμžμ—΄κ³Ό 문자 보간기λŠ₯을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이전 λ²„μ „μ˜ ES2015사양 λͺ…μ„Έμ—μ„œλŠ” "template strings" (ν…œν”Œλ¦Ώ λ¬Έ

developer.mozilla.org

 

 

πŸ’‘ λ³€μˆ˜μ˜ 생성 단계

1. 선언단계(Declaration phase)

     λ³€μˆ˜ 객체에 λ³€μˆ˜λ₯Ό λ“±λ‘ν•œλ‹€. 이 λ³€μˆ˜ κ°μ²΄λŠ” μŠ€μ½”ν”„κ°€ μ°Έμ‘°ν•˜λŠ” λŒ€μƒμ΄ λœλ‹€.

2. μ΄ˆκΈ°ν™” 단계 (Initialization phase)

    λ³€μˆ˜ 객체에 λ“±λ‘λœ λ³€μˆ˜λ₯Ό λ©”λͺ¨λ¦¬μ— ν• λ‹Ήν•œλ‹€. 이 λ‹¨κ³„μ—μ„œ λ³€μˆ˜λŠ” undefined둜 μ΄ˆκΈ°ν™” λœλ‹€.

3. ν• λ‹Ή 단계( Assignment phase)

    undefined둜 μ΄ˆκΈ°ν™”λœ λ³€μˆ˜μ— μ‹€μ œ 값을 ν• λ‹Ήν•œλ‹€.

πŸ’‘ var의 문제점

1. ν•¨μˆ˜ 레벨 μŠ€μ½”ν”„(Function-level scope)

   - μ „μ—­ λ³€μˆ˜ λ‚¨λ°œ

   - forλ¬Έ μ΄ˆκΈ°ν™”μ‹μ—μ„œ μ‚¬μš©ν•œ λ³€μˆ˜λ₯Ό μ™ΈλΆ€μ—μ„œ μ°Έμ‘°ν•  수 μžˆλ‹€.

2. var ν‚€μ›Œλ“œ μƒλž΅ ν—ˆμš©

    - μ˜λ„ν•˜μ§€ μ•Šμ€ λ³€μˆ˜μ˜ μ „μ—­ν™”

3. 쀑볡 μ„ μ–Έ ν—ˆμš©

   - μ˜λ„ν•˜μ§€ μ•Šμ€ λ³€μˆ˜κ°’ λ³€κ²½

4. λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ…

   - λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κΈ° 전에 μ°Έμ‘°κ°€ κ°€λŠ₯ν•˜λ‹€

πŸ’‘ ν˜Έμ΄μŠ€νŒ…(Hoisting)μ΄λž€?

- ν˜Έμ΄μŠ€νŒ…μ€ var , let , const, function λ“± λͺ¨λ“  선언을 μœ νš¨λ²”μœ„(scope)에 따라 κ°€μž₯ μœ„λ‘œ λŒμ–΄μ˜¬λ¦¬λŠ” 것이닀.

- ν˜Έμ΄μŠ€νŒ…μœΌλ‘œ μ΄ˆκΈ°ν™” 된 값은 μ œμ™Έν•˜κ³  μ„ μ–Έλ§Œ λŒμ–΄ μ˜¬λ¦°λ‹€.

- μ„ μ–Έκ³Ό ν• λ‹Ήμ˜ 뢄리라고 μƒκ°ν•˜λ©΄ 쉽닀.

- μœ νš¨λ²”μœ„μ—λŠ” 'ν•¨μˆ˜λ ˆλ²¨ μŠ€μ½”ν”„'와 'λΈ”λŸ­λ ˆλ²¨ μŠ€μ½”ν”„'둜 κ΅¬μ„±λ˜μ–΄ μžˆλ‹€.

- varλŠ” ν•¨μˆ˜λ ˆλ²¨ μŠ€μ½”ν”„μ΄κ³  let,constλŠ” λΈ”λŸ­ 레벨 μŠ€μ½”ν”„μ΄λ‹€. 

- varλŠ” 초기 값이 μ—†λ‹€λ©΄ 선언와 λ™μ‹œμ— undefined둜 μ΄ˆκΈ°ν™” 되기 λ•Œλ¬Έμ— μ„ μ–Έ 전에도 μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€.

πŸ’‘ var , let , const 비ꡐ

  var let const
μž¬μ„ μ–Έκ°€λŠ₯μ—¬λΆ€ κ°€λŠ₯ λΆˆκ°€λŠ₯ λΆˆκ°€λŠ₯
μŠ€μ½”ν”„ ν•¨μˆ˜λ ˆλ²¨ λΈ”λŸ­λ ˆλ²¨ λΈ”λŸ­λ ˆλ²¨
μ΄ˆκΈ°κ°’ 선택 선택 ν•„μˆ˜
κ°’ μž¬ν• λ‹Ή μ—¬λΆ€  κ°€λŠ₯ κ°€λŠ₯ λΆˆκ°€λŠ₯
μ„ μ–Έ μ „ μ‚¬μš© κ°€λŠ₯ λΆˆκ°€λŠ₯ λΆˆκ°€λŠ₯

 

πŸ’™ const 와 let  κ°’ λ³€κ²½ μ—¬λΆ€μ—μ„œ ν—·κ°ˆλ¦΄μˆ˜ μžˆλŠ” 뢀뢄이 μžˆμ–΄μ„œ μ²¨μ–Έν•΄λ³΄μžλ©΄ (λ‚˜λ„ ν—·κ°ˆλ Έλ‹€.)

      μ—¬κΈ°μ„œ 변경은 κ°’μ˜ 변경이 μ•„λ‹ˆλΌ 'λ©”λͺ¨λ¦¬ μ£Όμ†Œ'의 변경이닀.

       let 은 λ©”λͺ¨λ¦¬ μ£Όμ†Œ 변경이 κ°€λŠ₯ ν•˜κ³  const λŠ” λ©”λͺ¨λ¦¬ μ£Όμ†Œ 변경이 λΆˆκ°€λŠ₯ν•˜λ‹€.

let Arr = [];
Arr.push(1);
Arr.push(2);
Arr.push(3);

//	Arr λ°°μ—΄μ•ˆμ—μ„œ 값이 μΆ”κ°€λ˜μ§€λ§Œ λ©”λͺ¨λ¦¬ μ£Όμ†ŒλŠ” λ°”λ€Œμ§€ μ•ŠλŠ”λ‹€.
//	κ·Έλž˜μ„œ constλ₯Ό μ‚¬μš©ν•΄λ„ λœλ‹€.

const Arr = [];
Arr.push(1);
Arr.push(2);
Arr.push(3);

πŸ’‘ μ˜ˆμ‹œ 

console.log(num);		// undefined
var num;

 

μ°Έκ³ 

poiemaweb.com/es6-block-scope

 

let, const | PoiemaWeb

ES5κΉŒμ§€ λ³€μˆ˜λ₯Ό μ„ μ–Έν•  수 μžˆλŠ” μœ μΌν•œ 방법은 var ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” κ²ƒμ΄μ—ˆλ‹€. var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έλœ λ³€μˆ˜λŠ” μ•„λž˜μ™€ 같은 νŠΉμ§•μ΄ μžˆλ‹€. μ΄λŠ” λ‹€λ₯Έ μ–Έμ–΄μ™€λŠ” λ‹€λ₯Έ νŠΉμ§•μœΌλ‘œ 주의λ₯Ό κΈ°μšΈμ΄μ§€ μ•ŠμœΌλ©΄

poiemaweb.com

 

@keyframes

- @keyframesλŠ” css μ• λ‹ˆλ©”μ΄μ…˜μ„ μ •μ˜ν•˜λŠ” λ¬Έλ²•μœΌλ‘œ 각 ꡬ간에 μ–΄λ–€ μŠ€νƒ€μΌλ‘œ μ μš©ν•œμ§€ μ§€μ •ν•œλ‹€.

- κ΅¬μ„±μš”μ†Œ

   1. animation name : @keyframes μ •μ˜ν•œ μ• λ‹ˆλ©”μ΄μ…˜μ„ μ μš©ν•  λ•Œ ν•„μš”ν•œ 이름 (λ‚΄κ°€ μ •ν•œλ‹€)

   2. ꡬ간 : from to / 0 - 100%

   3. css μŠ€νƒ€μΌ : ꡬ간에 μ μš©μ‹œν‚¬ μŠ€νƒ€μΌ

 

animation

- @keyframes μ—μ„œ μ •μ˜ν•œ animation을 css animation 속성을 톡해 μ‚¬μš© ν• μˆ˜ μžˆλ‹€.

- animation  속성

  : animation-duration, animation-timing-function, animation-delay 등등이 μžˆλ‹€. 

    (더 λ§Žμ€ 속성을 보고 μ‹Άλ‹€λ©΄ 참고에 MDN μ‚¬μ΄νŠΈλ₯Ό 확인)

  

πŸ’‘ μ˜ˆμ‹œ

@keyframes μ• λ‹ˆλ©”μ΄μ…˜ 이름
{
	from {
		// μ μš©μ‹œν‚¬ CSS
	 }
	 to {
		// μ μš©μ‹œν‚¬ CSS
	 }
}

// μ˜ˆμ‹œ ------------------------------------------------------------------------------
@keyframes fadeIn
{
	from {
	   opacity: 0;
	 }
	 to {
	   opacity: 1;
	 }
}
.bgImage
{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height: 100%;
	z-index: -1;
	animation: fadeIn .5s linear;
}
μ°Έκ³ 
webdesign.tutsplus.com/ko/tutorials/a-beginners-introduction-to-css-animation--cms-21068developer.mozilla.org/ko/docs/Web/CSS/animation

 

 

CSS μ• λ‹ˆλ©”μ΄μ…˜ 초보자 μž…λ¬Έμ„œ

μš”μ¦˜μ—λŠ” 점점 더 λ§Žμ€ μ›Ήμ‚¬μ΄νŠΈλ“€μ΄ GIF, SVG, WebGL, λ°°κ²½ λΉ„λ””μ˜€ λ“±μ˜ ν˜•νƒœλ₯Ό μ΄μš©ν•˜μ—¬ μ• λ‹ˆλ©”μ΄μ…˜μ„ μ‚¬μš©ν•˜κ³ μžˆμŠ΅λ‹ˆλ‹€. μ œλŒ€λ‘œ μ‚¬μš©ν•œλ‹€λ©΄ μ›Ή μƒμ˜ μ• λ‹ˆλ©”μ΄μ…˜λ“€μ€ μ›Ήμ‚¬μ΄νŠΈμ˜ ν™œλ ₯을 λΆˆμ–΄λ„£κ³ 

webdesign.tutsplus.com

 

'CSS > κ°œλ…' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[CSS] κ°€μƒμ„ νƒμž :after(::after)  (0) 2021.01.06

κ°€μƒμš”μ†Œ 

- css μ˜μ‚¬μš”μ†Œ(κ°€μƒμš”μ†Œ)λŠ” μ„ νƒμžμ— μΆ”κ°€ν•˜λŠ” ν‚€μ›Œλ“œλ‘œ, μ„ νƒν•œ μš”μ†Œμ˜ μΌλΆ€λΆ„μ—λ§Œ μŠ€νƒ€μΌμ„ μž…νž 수 μžˆλ‹€. 

κ°€μƒμ„ νƒμž :after(::after)

cssμ—μ„œ :afterλŠ” μ„ νƒν•œ μš”μ†Œμ˜ λ§¨λ§ˆμ§€λ§‰ μžμ‹μœΌλ‘œ κ°€μƒμš”μ†Œλ₯Ό ν•˜λ‚˜ μƒμ„±ν•œλ‹€.

보톡 content 속성과 ν•¨κ²Œ 짝지어, μš”μ†Œμ— μž₯μ‹μš© μ½˜ν…μΈ λ₯Ό μΆ”κ°€ν•  λ–„ μ‚¬μš©ν•œλ‹€.

기본값은 인라인이닀.

μΆ”κ°€λœ μš”μ†ŒλŠ” μ†ŒμŠ€ μ•ˆμ—μ„œ ::after λΌλŠ” ν˜•μ‹μœΌλ‘œ 보여진닀.

 

 

μ°Έκ³ 

developer.mozilla.org/ko/docs/Web/CSS/::after

 

::after (:after) - CSS: Cascading Style Sheets | MDN

CSSμ—μ„œ, ::afterλŠ” μ„ νƒν•œ μš”μ†Œμ˜ 맨 λ§ˆμ§€λ§‰ μžμ‹μœΌλ‘œ μ˜μ‚¬ μš”μ†Œλ₯Ό ν•˜λ‚˜ μƒμ„±ν•©λ‹ˆλ‹€. 보톡 content 속성과 ν•¨κ»˜ 짝지어, μš”μ†Œμ— μž₯μ‹μš© μ½˜ν…μΈ λ₯Ό μΆ”κ°€ν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€. 기본값은 μΈλΌμΈμž…λ‹ˆλ‹€. a::aft

developer.mozilla.org

 

'CSS > κ°œλ…' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[CSS] @keyframes λ₯Ό μ΄μš©ν•œ animation  (0) 2021.01.07

+ Recent posts