data functiuon - Function Declarations VS Arrow Function

์ƒํ™ฉ

๋ฆฌํŒฉํ† ๋ง ์ž‘์—…์„ ํ•˜๋˜์ค‘์— ์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด ๊ฐ™์€ data ํ•จ์ˆ˜์ธ๋ฐ ์–ด๋–ค ์ฝ”๋“œ์—” ES5 ์–ด๋–ค๊ฑด ES6 ๋ฌธ๋ฒ•์ธ arrow function์œผ๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์—ˆ๋‹ค. ๋ฌด์Šจ ์ฐจ์ด์ผ๊นŒ ์‹ถ์–ด์„œ ์ฐพ์•„ ๋ณด์•˜๋‹ค.

//ES5 ๋ฌธ๋ฒ•
export default {
   data (){
      return {
         isShow: false,
      }
   }
}
 

//ES6 ๋ฌธ๋ฒ•
export default {
   data: () => ({
      return {
         isShow: false,
      }
   })
}

๊ฒฐ๋ก 

๋ทฐ ์ฝ”๋“œ์—์„œ props๋กœ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํ™”์‚ดํ‘œํ•จ์ˆ˜๋กœ ๋งŒ๋“  data: () => {}๋Š” ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•œ๋‹ค. ์ด์œ ๋Š” this๊ฐ€ vue Instance ์ด๊ธฐ ๋•Œ๋ฌธ!!!

data(){} ์ผ๋ฐ˜ ํ•จ์ˆ˜์˜ this๋Š” ๋‚ด๋ถ€์—์„œ ๋ถ€ํ„ฐ ๊ฐ’์„ ์ฐพ์•„๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

export default {
   props: {
      isOpen: {
         type: Boolean,
         default: false,
      },
   },
   data: () => ({
      return {
         isShow: this.isOpen,
      }
   })
}

export default {
   props: {
      isOpen: {
         type: Boolean,
         default: false,
      },
   },
   data (){
      return {
         isShow: this.isOpen,
      }
   }
}

์ฐธ๊ณ 

Last updated