如何用好super,static等属性?
java是面向对象的语言,javascript是基于对象的语言。
java需要class来定义一个类,
ES6以前class是保留字,ES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。
10 回答11.2k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6.3k 阅读
2 回答2.7k 阅读✓ 已解决
js class 的语法跟 java class 的语法很接近,不过受旧的语言特点限制还是有一些区别
JS 中没有内部类,但 JS 可以在 function(方法)中定义类
JS 没有真正意义上的私有成员,不过可以通过闭包模拟
JS 中调用成员函数必须写
this.
,Java 中只要没有同名的局部变量可以直省略this.
JS 的调用静态函数需要写类名,如果是静态函数调用静态函数,需要前缀类名或
this.
;Java 可以直接调.....
一时想不到好多,但可以肯定他们在细节上还是有很多区别的,而且 JS 是一种动态语言,很多东西在使用上比较灵活。