What is the difference between object-oriented in javascript and php?
WBOYOriginal
2016-08-27 08:54:401154browse
New to front-end development. Mainly learn js. Because I needed to learn PHP for business a long time ago, I also wrote PHP for a while, but I still used a process-oriented writing method, and I also know that PHP does not directly support polymorphism and so on. I haven't found much that compares the object-oriented programming ideas of the two languages. Want to learn more about the differences in object-oriented thinking between these two weakly typed scripting languages? And what are the advantages and disadvantages of the two languages in object-oriented programming? I sincerely ask a question and want to learn. I really don’t want there to be no technical answers below, but instead be flooded with “php is the best language”.
Reply content:
Who told you that php doesn't support polymorphism?
The difference between modern javascript (ES2015+) and modern php (php7) is actually shrinking (mainstream languages learn from each other, so the longer they are, the more similar they are). In terms of OO facilities, PHP has interface and traits, including public/protected/private. In addition, PHP has typehint. These JS are not available yet. But if you value these very much, you can use typescript. Except for the lack of traits, everything else is better than php.
js is only based on objects. . So js is indeed not object-oriented in the strict sense. Although es2015 recently released a syntactic sugar class, what is actually going on? Come on, press F12 and enter "new class a{}", as shown in the picture:
Ignore Zhihu recruitment and this cross-domain error report. . . . . Prototype, a feature of js, also exists. The name of the constructor function is the declaration of the class. Do you think using class to declare it is object-oriented? . . The essence is still something from many years ago.
For the whole world***** of PHP. As far as PHP7 in the new century is concerned, its syntax is more general and can be regarded as relatively conventional object-oriented. It is relatively close to C++JAVAC# and the like, and there is nothing too special about it.
In terms of ideology, I feel that js is a weird and messy approach (heavy historical baggage), while PHP is more traditional (but it dares to discard the bad things in the past).
Learning the object-oriented nature of js is difficult (there are a lot of methods in inheritance alone)~~ This disadvantage is obvious. But php is relatively easy to learn.
Commonly used languages prototypal inheritance javascript is the only class inheritance in a sense a subset of prototypal inheritance
PHP is the same as all object-oriented languages, but it seems that PHP does not have polymorphism similar to Java. But this still does not prevent it from being an object-oriented language. The object-oriented language of js is different from all object-oriented languages (such as php, java, C#). js is not the object-oriented language of a typical high-level language. It is a functional language, and its object-oriented language is based on functions. The form indicates that a specific object js can be directly declared in literal form, while the object of an object-oriented high-level language must be new.
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn