2019-06-04
1298
#vue
Jake Dohm
2176
Jun 4, 2019 ⋅ 4 min read

Cleaning up your Vue.js code with ES6+

Jake Dohm

Recent posts:

ai dev tool power rankings

AI dev tool power rankings & comparison [Dec. 2025]

Compare the top AI development tools and models of December 2025. View updated rankings, feature breakdowns, and find the best fit for you.

Chizaram Ken
Dec 12, 2025 ⋅ 10 min read
the replay december 10

The Replay (12/10/25): Fixing AI code, over-engineering JavaScript, and more

Fixing AI code, over-engineering JavaScript, and more: discover what’s new in The Replay, LogRocket’s newsletter for dev and engineering leaders, in the December 10th issue.

Matt MacCormack
Dec 10, 2025 ⋅ 33 sec read

How to use TOON to reduce your token usage by 60%

TOON is a lightweight format designed to reduce token usage in LLM prompts. This post breaks down how it compares to JSON, where the savings come from, and when it actually helps.

Rosario De Chiara
Dec 10, 2025 ⋅ 5 min read
Fixing AI Generated Code

Fixing AI-generated code: 5 ways to debug, test, and ship safely

Andrew Evans, principal engineer and tech lead at CarMax discusses five ways to fix AI-generated code and help you debug, test, and ship safely.

Andrew Evans
Dec 10, 2025 ⋅ 9 min read
View all posts

6 Replies to "Cleaning up your Vue.js code with ES6+"

  1. Great tips, one question, when I use the arrow functions I get undefined on this… Any suggestion?

    1. Hi, Maximiliano, thanks for reading!

      So, if “this” is returning “undefined”, you’re probably using arrow functions in the wrong place. You shouldn’t use them when defining a function for your data, or lifecycle methods, as you do want this to be bound to the context. So doing { mounted: () => { console.log(this.hello) } } will console log undefined (rightly).

      You should use arrow functions _within_ your methods, lifecylcles, etc. so that the context of “this” will always be your component.

      For more information on arrow functions, check out this article: https://codeburst.io/javascript-arrow-functions-for-beginners-926947fc0cdc

  2. (hello = 0) Destructuring works let { hello } = this and then I hello = 1 in the method and the value changes if I assign it to a different value but when a different method later calls the data() for that particular data it is as-if it was never changed at all because when I check it again it is still hello = 0.

    1. Hi, Lou!

      So the reason mutating the value of “hello” doesn’t work, is that primitive values (like a number or string) are copied by value, not reference. When you do let { hello } = this, what it’s really doing is let hello = this.hello, which *copies* the value of this.hello into a new local variable. So when you mutate your local variable, it won’t change the value of this.hello.

      For more information, check out this AWESOME article on value vs reference in JS: https://codeburst.io/explaining-value-vs-reference-in-javascript-647a975e12a0

Leave a Reply

Would you be interested in joining LogRocket's developer community?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now