جاوااسکریپت: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
جزبدون خلاصۀ ویرایش
بله
برچسب‌ها: حذف حجم زیادی از مطالب منبع‌دار برداشتن بخش بزرگی از صفحه ویرایشگر دیداری ویرایش همراه ویرایش از وبگاه همراه
خط ۱:
'''جاوااسکریپت''' {{انگلیسی|JavaScript}} با [[کوته‌نوشت]] '''JS''' نوعی [[زبان برنامه‌نویسی]] است که با ویژگی‌های ارائه شده در مشخصات [[اکما اسکریپت]] مطابق می‌باشد.<ref name="tc39">{{Cite web|url=https://tc39.es/ecma262/#sec-overview|title=ECMAScript® 2020 Language Specification}}</ref> جاوااسکریپت نوعی زبان [[زبان برنامه‌نویسی سطح بالا|سطحبالا، بالا]]، [[کامپایل درجا]]،درجا، و [[الگو برنامه‌نویسی|چندالگویی]] است. جاوااسکریپت نحو [[کمانک|آکولادی]] دارد، نوع دهی آن [[سیستم انواع#بررسی گونه‌ای پویا|پویا]] است، نوع [[برنامه‌نویسی شیءگرا|شیءگرا]]<nowiki/>ییشیءگرایی اش [[برنامه‌نویسی بر پایه پیش‌نمونه|بر پایه پیش‌نمونه]] است، و دارای [[توابع کلاس اول]] می‌باشد.<ref>{{Cite journal|date=2020-03-31|title=JavaScript|url=https://en.wikipedia.org/w/index.php?title=JavaScript&oldid=948334618|journal=Wikipedia|language=en}}</ref>
{{اشتباه نشود|جی‌اسکریپت|جاوا (زبان برنامه‌نویسی)}}
{{Infobox programming language
| genre = [[زبان اسکریپت‌نویسی]]
 
در کنار HTML و CSS، جاوااسکریپت یکی از فن‌آوری‌های هسته‌ای وب جهان‌گستر است.
| uniform type = com.netscape.javascript-source<ref>{{cite web
| publisher = Apple Inc.
| url = http://developer.apple.com/mac/library/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html
 
علیرغم اشتباه عمومی، زبان جاوااسکریپت با زبان [[جاوا (زبان برنامه‌نویسی)|جاوا]] ارتباطی ندارد،دلیل این نام گذاری محبوبیت زبان جاوا در هنگام تولد جاوااسکریپت بود; اگر چه ساختار این زبان به [[سی پلاس پلاس]] (++C) و جاوا شباهت دارد که این امر برای یادگیری آسان در نظر گرفته شده‌است. از همین رو دستورهای متداول مانند ''if'', ''for'', ''try..catch'' ,"while" و… در این زبان هم یافت می‌گردند.{{سخ}}
| mime = {{flatlist|
این زبان می‌تواند هم به صورت [[ساخت یافته]] و هم به صورت [[شی گرا]] مورد استفاده قرار گیرد. در این زبان اشیاء با اضافه شدن [[اسلوب (برنامه‌نویسی شیءگرا)|متدها]] و [[خصوصی]]اتخصوصیات پویا به اشیاء خالی ساخته می‌شوند، بر خلاف جاوا. بعد از ساخته شدن یک شی به روش فوق، این شی می‌تواند به عنوان نمونه‌ای برای ساخته شدن اشیاء مشابه مورد استفاده قرار گیرد.{{سخ}}
* <code>application/javascript</code>
به علت این قابلیت زبان جاوااسکریپت برای ساختن نمونه از سیستم، مناسب است. {{سخ}}{{Infobox file format
* <code>text/javascript</code> (obsolete)<ref>{{cite web|url=http://www.apps.ietf.org/rfc/rfc4329.html#sec-7.1|title=RFC {{Webarchive|url=https://web.archive.org/web/20140316122853/http://www.apps.ietf.org/rfc/rfc4329.html#sec-7.1{{!}}title=RFC |date=۱۶ مارس ۲۰۱۴ }}
 
کاربرد گسترده این زبان در سایت‌ها و صفحات اینترنتی بوده و به کمک این زبان می‌توان به اشیاء داخل صفحات HTML دسترسی پیدا کرد و آن‌ها را تغییر داد. به همین علت برای [[پویانمایی]] در سمت کاربر، از این زبان استفاده می‌شود.
|name=جاوا اسکریپت|File format=|latest_preview_date=|latest_preview_version=ECMAScript 2020|latest_release_date={{start date and age|2019|6}}|latest_release_version=ECMAScript 2019<ref name="auto">{{cite web|url=https://www.ecma-international.org/publications/standards/Ecma-262.htm|title=Standard{{پیوند{{پیوند{{پیوند{{پیوند مرده|date=ژوئن 2020 |bot=InternetArchiveBot }} مرده|date=مه ۲۰۲۰ |bot=InternetArchiveBot }} مرده|date=آوریل ۲۰۲۰ |bot=InternetArchiveBot }} مرده|date=مارس ۲۰۲۰ |bot=InternetArchiveBot }} ECMA-262|publisher=Ecma International|date=2017-07-03}}</ref>|year={{start date and age|1995|12|04}}<ref name="press_release">[https://web.archive.org/web/20070916144913/http://wp.netscape.com/newsref/pr/newsrelease67.html Press release announcing JavaScript], "Netscape and Sun announce JavaScript", PR Newswire, December 4, 1995</ref>|wikibooks=JavaScript|website=|File extensions={{flatlist|
* <code>.js</code>
* <code>.mjs</code><ref name="node.js ECMAScript Modules Specification">{{cite web|url=https://github.com/nodejs/node-eps/blob/master/002-es-modules.md|title=nodejs/node-eps|website=GitHub}}</ref>
}}|logo=<!-- Do not add the unofficial logo, per [[Talk:JavaScript/Archive 5#Why is the unofficial logo present?]] -->|license=|influenced=[[ActionScript]], [[AtScript]], [[CoffeeScript]], [[Dart (programming language)|Dart]], [[JScript .NET]], [[LiveScript]], [[Objective-J]], [[Opa (programming language)|Opa]], [[QML]], [[Raku (programming language)|Raku]], [[TypeScript]]|implementations=[[V8 (JavaScript engine)|V8]], [[JavaScriptCore]], [[SpiderMonkey (JavaScript engine)|SpiderMonkey]], [[Chakra (JScript engine)|Chakra]]|typing=[[سیستم انواع#بررسی گونه‌ای پویا|پویا]]، [[نوع‌دهی اردکی|اردکی]]|designer=در ابتدا [[برندان ایچ]]، سپس مشارکت کننده های کلیدی دیگری در مشخصات [[اکما اسکریپت]] اضافه شدند.|paradigm=[[برنامه‌نویسی رویدادمحور|رویدادمحور]]، [[برنامه‌نویسی تابعی|تابعی]]، [[برنامه‌نویسی دستوری|دستوری]]|logo alt=|influenced_by=[[AWK]]<ref>{{cite web|title=Brendan Eich: An Introduction to JavaScript, JSConf 2010|quote="Eich: "function", eight letters, I was influenced by AWK."|url=https://www.youtube.com/watch?v=1EyRscXrehw|accessdate=November 25, 2019|p=22m}}</ref>, [[C (programming language)|C]], [[HyperTalk]], [[Java (programming language)|Java]]<ref>{{cite web|title="Coders at Work: Reflections on the Craft of Programming"|quote="Eich: The immediate concern at Netscape was it must look like Java."|url=https://books.google.com/books?id=nneBa6-mWfgC&pg=PA141&lpg=PA141&dq=The+immediate+concern+at+Netscape+was+it+must+look+like+Java.&source=bl&ots=gGvuIcRU5u&sig=OGPam0PUoNHEn9DA3OYrbWpQXX8&hl=en&sa=X&ved=2ahUKEwi53LL6nbvfAhUK7YMKHUX3CgIQ6AEwAHoECAUQAQ#v=onepage&q=The%20immediate%20concern%20at%20Netscape%20was%20it%20must%20look%20like%20Java.&f=false|accessdate=December 25, 2018}}</ref>, [[Lua (programming language)|Lua]], [[Perl]], [[Python (programming language)|Python]], [[Scheme (programming language)|Scheme]], [[Self (programming language)|Self]] <!--True for first JavaScript? Or only ECMAScript – later JavaScript versions-->
| latest_release_version = [[اکما اسکریپت]] ۲۰۱۹<ref name="auto">{{cite web|url=https://www.ecma-international.org/publications/standards/Ecma-262.htm|title=Standard ECMA-262|publisher=Ecma International|date=2017-07-03}}</ref>
| latest_release_date = {{start date and age|2019|6}}
| latest_preview_version = [[اکما اسکریپت]] ۲۰۲۰
| latest_preview_date =
 
}}
{{JavaScriptSidebar}}
'''جاوااسکریپت''' {{انگلیسی|JavaScript}} با [[کوته‌نوشت]] '''JS''' نوعی [[زبان برنامه‌نویسی]] است که با ویژگی‌های ارائه شده در مشخصات [[اکما اسکریپت]] مطابق می‌باشد.<ref name="tc39">{{Cite web|url=https://tc39.es/ecma262/#sec-overview|title=ECMAScript® 2020 Language Specification}}</ref> جاوااسکریپت نوعی زبان [[زبان برنامه‌نویسی سطح بالا|سطح بالا]]، [[کامپایل درجا]]، و [[الگو برنامه‌نویسی|چندالگویی]] است. جاوااسکریپت نحو [[کمانک|آکولادی]] دارد، نوع دهی آن [[سیستم انواع#بررسی گونه‌ای پویا|پویا]] است، نوع [[برنامه‌نویسی شیءگرا|شیءگرا]]<nowiki/>یی اش [[برنامه‌نویسی بر پایه پیش‌نمونه|بر پایه پیش‌نمونه]] است، و دارای [[توابع کلاس اول]] می‌باشد.<ref>{{Cite journal|date=2020-03-31|title=JavaScript|url=https://en.wikipedia.org/w/index.php?title=JavaScript&oldid=948334618|journal=Wikipedia|language=en}}</ref>
 
در کنار [[HTML]] و [[CSS]]، جاوااسکریپت یکی از فن‌آوری‌های هسته‌ای [[وب جهان‌گستر]] است.<ref>{{cite book|last1=Flanagan|first1=David|title=JavaScript - The definitive guide|page=1|edition=6|quote=JavaScript is part of the triad of technologies that all Web developers must learn: HTML to specify the content of web pages, CSS to specify the presentation of web pages and JavaScript to specify the behaviour of web pages.}}</ref>
 
علیرغم اشتباه عمومی، زبان جاوااسکریپت با زبان [[جاوا (زبان برنامه‌نویسی)|جاوا]] ارتباطی ندارد،دلیل این نام گذاری محبوبیت زبان جاوا در هنگام تولد جاوااسکریپت بود; اگر چه ساختار این زبان به [[سی پلاس پلاس]] (++C) و جاوا شباهت دارد که این امر برای یادگیری آسان در نظر گرفته شده‌است. از همین رو دستورهای متداول مانند ''if'', ''for'', ''try..catch'' ,"while" و… در این زبان هم یافت می‌گردند.{{سخ}}
این زبان می‌تواند هم به صورت [[ساخت یافته]] و هم به صورت [[شی گرا]] مورد استفاده قرار گیرد. در این زبان اشیاء با اضافه شدن [[اسلوب (برنامه‌نویسی شیءگرا)|متدها]] و [[خصوصی]]ات پویا به اشیاء خالی ساخته می‌شوند، بر خلاف جاوا. بعد از ساخته شدن یک شی به روش فوق، این شی می‌تواند به عنوان نمونه‌ای برای ساخته شدن اشیاء مشابه مورد استفاده قرار گیرد.{{سخ}}
به علت این قابلیت زبان جاوااسکریپت برای ساختن نمونه از سیستم، مناسب است. {{سخ}}{{Infobox file format
| name = جاوا اسکریپت (قالب پرونده)
| logo =
| screenshot =
| caption =
| extension = .js
| mime = {{flatlist|
* <code>application/javascript</code>
* <code>text/javascript</code> (obsolete)<ref>{{cite web|url=http://www.apps.ietf.org/rfc/rfc4329.html#sec-7.1|title=RFC 4329|publisher=Apps.ietf.org|archive-url=https://web.archive.org/web/20140316122853/http://www.apps.ietf.org/rfc/rfc4329.html#sec-7|archive-date=2014-03-16|access-date=16 February 2016|dead-url=yes}}</ref>
}}
|_nomimecode = y
| type code =
| uniform type = com.netscape.javascript-source<ref>{{cite web
| publisher = Apple Inc.
| url = http://developer.apple.com/mac/library/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html
| title = System-Declared Uniform Type Identifiers
| work = Mac OS X Reference Library
| accessdate = 2010-03-05}}</ref>
| magic =
| owner =
| released =
| latest release version =
| latest release date =
| genre = [[زبان اجرانامه‌نویسی]]
| container for =
| contained by =
| extended from =
| extended to =
| standard =
}}
کاربرد گسترده این زبان در سایت‌ها و صفحات اینترنتی بوده و به کمک این زبان می‌توان به اشیاء داخل صفحات HTML دسترسی پیدا کرد و آن‌ها را تغییر داد. به همین علت برای [[پویانمایی]] در سمت کاربر، از این زبان استفاده می‌شود.
== تاریخچه ==
''جاوااسکریپت'' را در ابتدا شخصی به نام [[برندان ایچ]] در شرکت [[نت‌اسکیپ]] با نام Mocha طراحی نمود. این نام بعداً به LiveScript و نهایتاً به جاوااسکریپت تغییر یافت.<ref>{{یادکرد|فصل=|کتاب=|ناشر= |شهر= |کوشش= |ویرایش= |سال=|شابک=|نویسنده=Krill, {{چر}}Paul |نویسندگان سایر بخش‌ها=|ترجمه=|صفحه= |زبان=en |عنوان = JavaScript creator ponders past, future | پیوند = http://www.infoworld.com/article/08/06/23/eich-javascript-interview_1.html |ژورنال= |نشریه=InfoWorld |تاریخ=۲۰۰۸–۰۶–۲۳ |دوره= |شماره= |شاپا=}} Retrieved on 2009-05-19.</ref> این تغییر نام تقریباً با افزوده شدن پشتیبانی از جاوا در مرورگر وب [[نت اسکیپ نویگیتور|Netscape Navigator]] همزمانی دارد. اولین نسخهٔ جاوااسکریپت در نسخه 2.0B3 این مرورگر در دسامبر ۱۹۹۵ معرفی و عرضه شد. این نام گذاری منجر به سردرگمی‌های زیادی شده و این ابهام را ایجاد می‌کند که جاوااسکریپت با [[جاوا (زبان برنامه‌نویسی)|جاوا]] مرتبط است در حالی که این‌طور نیست. عدهٔ زیادی این کار را یک ترفند تجاری برای به دست آوردن بخشی از بازار جاوا که در آن موقع زبان جدید مطرح برای برنامه‌نویسی تحت وب بود می‌دانند.<ref>{{یادکرد|فصل=|کتاب=|ناشر= |شهر= |کوشش= |ویرایش= |سال=|شابک=|نویسنده= |نویسندگان سایر بخش‌ها=|ترجمه=|صفحه= |زبان=en |عنوان = Programming languages used on the Internet and the World Wide Web (WWW) | پیوند = http://www.webdevelopersnotes.com/basics/languages_on_the_internet.php3 |ژورنال= |نشریه=Webdevelopersnotes.com |تاریخ= |دوره= |شماره= |شاپا=}} Retrieved on 2009-05-19.</ref><ref>{{یادکرد|فصل=|کتاب=|ناشر= |شهر= |کوشش= |ویرایش= |سال=|شابک=|نویسنده= |نویسندگان سایر بخش‌ها=|ترجمه=|صفحه= |زبان=en |عنوان = O'Reilly - Safari Books Online - 0596101996 - JavaScript: The Definitive Guide, 5th Edition | پیوند = http://safari.oreilly.com/0596101996/jscript5-CHP-1 |ژورنال= |نشریه=Safari.oreilly.com |تاریخ= |دوره= |شماره= |شاپا=}} Retrieved on 2009-05-19.</ref>