我有点困惑学习所有新的ES6与ES5与JavaScript的语法,当涉及到方法和调用这些方法的函数/类时,我无法确切地告诉什么是“正确的方式”。Javascript this.function vs返回函数?
例如利用这个代码:
function account(amount) {
let cash = amount;
this.setCash = function(amt)
{
cash = amt;
}
this.getCash = function()
{
return cash;
}
}
var person = new account(100);
console.log(person.getCash()); //returns 100
person.setCash(150);
console.log(person.getCash()); //returns 150
作品像预期正常(这是我最初看到通过教程去时使用的方法)。
但是我已经看到了这个偶然:
function account2(amount) {
let cash = amount;
function setCash(amt)
{
cash = amt;
}
function getCash()
{
return cash;
}
return{
getCash,
setCash
}
}
var person2 = new account2(50);
console.log(person2.getCash()); //returns 50
person2.setCash(175);
console.log(person2.getCash()); //returns 175
这两个完全正常工作,并且做的,因为我觉得他们应该。但是,只是一个更老的方法呢?或更少更正可能?这是我现在学习JS的最大障碍,因为ES6在这里有很多不同的方式来做一些简单的事情,比如在JS中用方法创建一个“类”。
就个人而言,第一种方式似乎更容易,因为您不必返回函数....但例如在工作中,我看到第二种方式主要用于?
他们都不是年长者。他们同样“老”。没有一个是“更好”的,他们只是不同而已。选择一个适合你的案例。 – zerkms
@zerkms有没有被认为是新“标准”的ES6方式? – msmith1114
在JavaScript中没有任何单一的“标准”做任何事情。做任何适合**你**更好。 – zerkms