
学习js要学习node.js么
展开全部
node里的js,和前端用的js不一样。。。。前端用的JS,俗称JAVASCRIPT1.0,正规名称是ECMAscript3,而node上用的JS,是ECMAscript6。。
尽管都叫ECMAscript,但相比之下,6和3几乎可以看成两门不同的语言。。3的语法在6中都有,但大概只有6语法总量的三分之一左右。。。另外三分之二,在3中是没有的。。3是基于对象的,而6是面向对象的。。比如6中有类,有lambda表达式,还有静态。。通过学习3,是根本不会涉及这些概念的。。
如果以3作为标准JS的话,那么6只有三分像JS,而七分像C#。。对于前端来讲,限于基础不足,NODE会显得非常难学。。。如果之前没学过C#或者JAVA,其实很难平滑过渡到NODE。。。比如下面这是一个类,你会觉得它是你所认为的JS代码?
class BaseResult{
constructor(code,msg,data){
this.code = code;
this.msg = msg;
this.data = data;
}
setCode(code){
this.code = code;
}
getCode(){
return this.code;
}
setMsg(msg){
this.msg = msg;
}
getMsg(){
return this.msg;
}
setData(data){
this.data = data;
}
getData(){
return this.data;
}
getRes(){
return {'code':this.code,'msg':this.msg,'data':this.data};
}
}
const SUCCESS = new BaseResult(0,'成功',{a:10,b:[{c:10,d:20},{e:30,f:40}]});
console.log(SUCCESS);
所以如果你目前只是学习前端,NODE可以暂时跳过,因为你根本学不会,即便自己觉得会了,到了做项目,你就明白自己根本不是真会,不理解面向对象,根本做不了完整的后端项目。。。要想转到后端,面向对象的ES6是根本跳不过去的
如果将来有机会学学C#或者JAVA,养成了面向对象思想,再学NODE就会变得非常平滑。。
尽管都叫ECMAscript,但相比之下,6和3几乎可以看成两门不同的语言。。3的语法在6中都有,但大概只有6语法总量的三分之一左右。。。另外三分之二,在3中是没有的。。3是基于对象的,而6是面向对象的。。比如6中有类,有lambda表达式,还有静态。。通过学习3,是根本不会涉及这些概念的。。
如果以3作为标准JS的话,那么6只有三分像JS,而七分像C#。。对于前端来讲,限于基础不足,NODE会显得非常难学。。。如果之前没学过C#或者JAVA,其实很难平滑过渡到NODE。。。比如下面这是一个类,你会觉得它是你所认为的JS代码?
class BaseResult{
constructor(code,msg,data){
this.code = code;
this.msg = msg;
this.data = data;
}
setCode(code){
this.code = code;
}
getCode(){
return this.code;
}
setMsg(msg){
this.msg = msg;
}
getMsg(){
return this.msg;
}
setData(data){
this.data = data;
}
getData(){
return this.data;
}
getRes(){
return {'code':this.code,'msg':this.msg,'data':this.data};
}
}
const SUCCESS = new BaseResult(0,'成功',{a:10,b:[{c:10,d:20},{e:30,f:40}]});
console.log(SUCCESS);
所以如果你目前只是学习前端,NODE可以暂时跳过,因为你根本学不会,即便自己觉得会了,到了做项目,你就明白自己根本不是真会,不理解面向对象,根本做不了完整的后端项目。。。要想转到后端,面向对象的ES6是根本跳不过去的
如果将来有机会学学C#或者JAVA,养成了面向对象思想,再学NODE就会变得非常平滑。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询