πŸ“• Language/Vue

[μ›Ήμ•± μ œμž‘μœΌλ‘œ λ°°μ›Œλ³΄λŠ” Vue.js, ES6, Vuex] ES6 of Vue.js (1)

a n u e 2022. 5. 22. 16:45

ES6?

μ΅œμ‹  Front-end Framework인 React, Angular, Vueμ—μ„œ κΆŒκ³ ν•˜λŠ” μ–Έμ–΄ ν˜•μ‹

ES5에 λΉ„ν•΄ 문법이 κ°„κ²°ν•΄μ Έμ„œ μ΅μˆ™ν•΄μ§€λ©΄ 코딩을 훨씬 νŽΈν•˜κ²Œ ν•  수 있음

 


const & let - μƒˆλ‘œμš΄ λ³€μˆ˜ μ„ μ–Έ 방식

  • 블둝 λ‹¨μœ„ {}둜 λ³€μˆ˜μ˜ λ²”μœ„κ°€ μ œν•œλ˜μ—ˆμŒ
  • const : ν•œλ²ˆ μ„ μ–Έν•œ 값에 λŒ€ν•΄ λ³€κ²½ν•  수 μ—†μŒ(μƒμˆ˜ κ°œλ…)
  • let : ν•œλ²ˆ μ„ μ–Έν•œ 값에 λŒ€ν•΄μ„œ λ‹€μ‹œ μ„ μ–Έν•  수 μ—†μŒ(μž¬ν• λ‹Ήμ€ κ°€λŠ₯함)

! const

ν•˜μ§€λ§Œ, κ°μ²΄λ‚˜ λ°°μ—΄μ˜ λ‚΄λΆ€λŠ” λ³€κ²½ν•  수 μžˆλ‹€.

const a = 10;
a = 20; //Uncaught TypeError : Assignment to constant variable

const a = {};
a.num = 10;
console.log(a); //{num:10}

const a = [];
a.push(20);
console.log(a); //[20]

λ³€μˆ˜ μŠ€μ½”ν”„

κΈ°μ‘΄ ES5 : κΈ°μ‘΄ μžλ°”μŠ€ν¬λ¦½νŠΈ(ES5)λŠ” {}에 상관없이 μŠ€μ½”ν”„κ°€ 섀정됨

var sum = 0;
for (var i=1; i<=5; i++) {
	sum = sum + i;
}
console.log(sum) //15
console.log(i) //6

ES6 : {} λ‹¨μœ„λ‘œ λ³€μˆ˜μ˜ λ²”μœ„κ°€ μ œν•œλ˜μ–΄μ§

let sum = 0;
for (var i=1; i<=5; i++) {
	sum = sum + i;
}
console.log(sum) //10
console.log(i) //Uncaught ReferenceError : i is not defined

ν˜Έμ΄μŠ€νŒ…

κΈ°μ‘΄ ES5 : μ„ μ–Έν•œ ν•¨μˆ˜μ™€ λ³€μˆ˜λ₯Ό 해석기가 κ°€μž₯ 상단에 μžˆλŠ” 것 처럼 μΈμ‹ν•œλ‹€

function willBeOveridden() {
	return 10;
}
willBeOveridden(); //5
function willBeOveridden() {
	return 5;
}

Arrow Function - ν™”μ‚΄ν‘œ ν•¨μˆ˜

//ES5
var sum = function(a, b) {
  return a + b;
};

//ES6
var sum = (a, b) => {
  return a + b;
};

sum(10, 20);
//ES5
var arr = ["a", "b", "c"];
arr.forEach(function(value) {
  console.log(value); // a, b, c
});

//ES6
var arr = ["a", "b", "c"];
arr.forEach(value => console.log(value)); // a, b, c

ν–₯μƒλœ 객체 λ¦¬ν„°λŸ΄ - Enhanced Object Literals

- 객체의 속성을 λ©”μ„œλ“œλ‘œ μ‚¬μš©ν•  λ•Œ function μ˜ˆμ•½μ–΄λ₯Ό μƒλž΅ν•˜κ³  생성 κ°€λŠ₯

var directionary = {
  words : 100,
  //ES5
  lookup : function() {
    console.log("find words");
  },
  //ES6
  lookup() {
    console.log("find words");
  }
};

directionary.lookup();

 


속성λͺ…μ˜ μΆ•μ•½

- 객체의 속성λͺ…κ³Ό κ°’ λͺ…이 동일할 λ•Œ μ•„λž˜μ™€ 같이 μΆ•μ•½ κ°€λŠ₯

var figures = 10;
var dictionary = {
	//figures : figures;
    figures
};