জাভাস্ক্রিপ্ট আসলে কী?


95

আমি যখন ডাব্লু 3 সি এইচটিএমএল ভ্যালিডেটরের মতো জাভাস্ক্রিপ্ট কনফারেন্সের জন্য আমার ওয়েবপৃষ্ঠাটি পরীক্ষা করার জন্য একটি উপায় খুঁজছিলাম তখন এই সমস্ত শুরু হয়েছিল । আমি এখনও একটি খুঁজে পাইনি। সুতরাং আপনি যদি কিছু জানেন তবে আমাকে জানান ...

  1. আমি অফিসিয়াল জাভাস্ক্রিপ্ট পৃষ্ঠাটি সন্ধান করেছি এবং ইসিএমএ স্ক্রিপ্টটি পেয়েছি । এই লোকেরা একটি স্ক্রিপ্টিং ভাষা মানক করেছে (আমি এটি আর জাভাস্ক্রিপ্ট বলা পছন্দ করি না!) এবং এটিকে ECMA-262 ( উইকিপিডিয়া ) বলে। তাদের সর্বশেষ কাজ সংস্করণ 5.1

  2. জাভাস্ক্রিপ্টটি মজিলা কর্পোরেশন দ্বারা বিকাশ করা হয়েছিল এবং তাদের শেষ স্থিতিশীল সংস্করণটি 1.8.5 (এটি দেখুন ) যা ইসিএমএর সংস্করণ 5.1 এর উপর ভিত্তি করে

  3. উইকিপিডিয়া পৃষ্ঠা লিঙ্ক উপভাষা উল্লেখ করা হয়। মোজিলার জাভাস্ক্রিপ্ট ১.৮.৫ জাস্ক্রিপ্ট (আইই) এবং জাভাস্ক্রিপ্ট (ক্রোমের ভি 8 [ উইকি ]) এবং আরও অনেকের সাথে একটি উপভাষা হিসাবে তালিকাভুক্ত হয়েছে। আমি কি বুঝতে পারি যে জাভাস্ক্রিপ্ট ১.৮.৫ হ'ল ইসিএমএ -২2২ এবং স্পাইডারমোনকি [ উইকি ] একটি ইঞ্জিন যা এটি চালিত করে? এবং ক্রোমের নিজস্ব উপভাষা রয়েছে এবং ভি 8 ইঞ্জিন এমন একটি প্রোগ্রাম যা এটি চালায়?

ECMA-262 ভিত্তিক এই সমস্ত উপভাষার সাথে, যা আমি আর বুঝতে পারি না তা হ'ল " জাভাস্ক্রিপ্ট কী "? সত্যিকার অর্থে কোন ক্রস ব্রাউজারের স্ক্রিপ্টিং ভাষা রয়েছে? বিভিন্ন প্রয়োগকারীরা উপভাষার ক্রস সামঞ্জস্যতার সাথে একমত হওয়ার জন্য কি একত্রিত হন? এই প্রচেষ্টা কি ইসিএমএ?


10
আপনি অ্যাকশনস্ক্রিপ্ট উল্লেখ করতে ভুলে গেছেন, যা একটি ইসিএমএ উপভাষা যা জাভাস্ক্রিপ্ট বলতে পারে তার সাথে কিছুই করার থাকে না।
ডেভর্যান্ডম

4
কনফারেন্সের জন্য তেমন কিছু নয় (যেমন আপনি ইতিমধ্যে হাইলাইট করেছেন) তবে jslint কোড যাচাইয়ের জন্য বেশ সুন্দর।
সোমকিটেনস

2
@ মাডারাউচিহ - আমি সম্মতি জানালাম "শুধু jQuery ব্যবহার করুন। সবকিছু ঠিক থাকবে।" ঠিক হবে না। সে কারণেই আমি এটি নিয়ে গবেষণা শুরু করেছিলাম। আমার সাইট bharath.lohray.com ক্রোম এবং ফায়ারফক্সে ভালভাবে কাজ করে এবং ডাব্লু 3 সি ভ্যালিডেটরও কোনও ত্রুটি তৈরি করে না, তবে এটি নতুনতম আইতে বড় সময় ব্যয় করে! তবুও , আমি যে কোনও ব্রাউজার.আর / ক্যাম্পেইনে জনগণের ধারণাটি যতটা পছন্দ করি , সত্যই আমি ক্রস ব্রাউজার হতে পারি না!
লর্ড লোহ

7
আপনার পৃষ্ঠা সম্পর্কে, স্ক্রোলিংটি খুব বিরক্তিকর এবং উপরে রয়েছে। শুধু আইএমও এবং "লর্ড" উপাধিটি জাহান্নামের মতো আড়ম্বরপূর্ণ শোনায়, এমনকি যদি আপনি প্রকৃতই একজন প্রভু হন।
নুল ইউজারএক্সসেপশন

11
এটি অযথা চটকদার। আপনি এসইতে উপরে নীচে স্লাইডিং পোস্টগুলি দেখতে পাবেন না। যদি এটি পেশাদার হিসাবে দেখা ওয়েবসাইট হিসাবে বোঝানো হয় এবং আপনি এখনও রূপান্তর চান, তবে ফ্যাড-ইন / ফেইড-আউট এর মতো আরও কিছু বিচক্ষণ ব্যবহার করুন।
নাল ইউজারএক্সেপশন

উত্তর:


96

খুব সুন্দর সমস্ত পরিপক্ক ভাষা একটি স্পেসিফিকেশন দ্বারা সংজ্ঞায়িত করা হয়, এবং সংযোজক বা দোভাষী এই স্পেসিফিকেশন মধ্যে সংজ্ঞায়িত মান অনুসরণ করার চেষ্টা করে। তবে খুব কমই তারা সফল হয়, যদি না ভাষাটির লেখক দ্বারা মানকে সংজ্ঞায়িত করা হয়।

আপনি সি ++ 2003 স্ট্যান্ডার্ড , সি # 4 স্পেসিফিকেশন , জাভা 7 স্পেসিফিকেশন এবং আরও অনেক অনলাইন খুঁজে পেতে পারেন। এর মধ্যে অনেকের ইসিএমএ বা আইএসও মানককরণের নম্বর রয়েছে। এগুলি কেবলমাত্র এমন সংস্থাগুলি যার সাথে আপনি একটি স্ট্যান্ডার্ড নিবন্ধভুক্ত করতে এবং এটি আরও সরকারী করতে পারেন।

রুবি historতিহাসিকভাবে কিছু আলাদাভাবে কাজ করেছেন, একটি নির্দিষ্টকরণ হিসাবে পরীক্ষার একটি নির্বাহযোগ্য সেট রেখে । সুতরাং, আপনি যদি কোনও দোভাষী লিখতে চান এবং এটি স্ট্যান্ডার্ড রুবি বলতে চান, আপনাকে কেবল একটি দোভাষী তৈরি করতে হয়েছিল যা এই সমস্ত পরীক্ষায় পাস করেছে। তবে এমনকি রুবিও শেষ পর্যন্ত আরও ফর্মাল স্পেসিফিকেশন হওয়ার সম্ভাবনা রয়েছে

সম্ভবত এটি যেভাবে বিকশিত হয়েছে তা বাদ দিয়ে জাভাস্ক্রিপ্ট আলাদা নয়।

জাভাস্ক্রিপ্ট প্রথম নেটস্কেপ তৈরি করেছিলেন created তারা এটিকে লাইভস্ক্রিপ্ট বলেছিল, তবে এটি জাভার সাথে সাদৃশ্যপূর্ণ এবং তারা নাম নিয়ে সনের সাথে একটি চুক্তি করেছিল, যা নেটস্কেপ এবং জাভা উভয়ের বিপণনেই উপকৃত হয়েছিল। মাইক্রোসফ্টের ভিবিএস স্ক্রিপ্ট ছিল এবং (সম্ভবত অনুমানের কারণেই সম্ভবত এটি হারাতে হয়েছিল) মূলত জাভাস্ক্রিপ্ট অনুলিপি করেছিল, তবে নামটি সনের মালিকানাধীন ছিল, তাই তারা চেচামুখে এটিকে জেএসক্রিপ্ট বলে।

তবে জেএসক্রিপ্ট, সিনট্যাক্সে জাভাস্ক্রিপ্টের সাথে খুব মিল থাকার সাথে সাথে অনেকগুলি সিওএম ব্যবহার করেছিল - উদাহরণস্বরূপ, আই 5 এবং 6 এক্সএমএলএইচটিপিআরকোয়েস্ট অবজেক্ট ব্যবহার করে ইনস্ট্যান্ট করুন new ActiveXObject("Microsoft.XMLHTTP");

এবং তাই, জাভাস্ক্রিপ্টের সমান্তরাল, অনুরূপ তবে বিভিন্ন "উপভাষা" জন্মগ্রহণ করেছিলেন। সময়ের সাথে সাথে, আইই এর চেয়ে কম মার্কেট শেয়ার সহ ব্রাউজারের মালিকানাধীন বিভিন্ন গোষ্ঠী ভাষাটিকে মানদণ্ডিত করার চেষ্টা করেছে এবং বছরের পর বছর ধরে মাইক্রোসফ্ট প্রতিরোধ করেছিল। ভি 8 অবধি

ভি 8 দ্রুত ছিল। এটি সম্পূর্ণ নতুন বাজারের মান সেট করে। এটি অন্য সব কিছুকে দরিদ্র দেখায়।

এবং, মাইক্রোসফ্টের বিরুদ্ধে বিভিন্ন অবিশ্বাসের মামলার মাধ্যমে, আইই বাজারের শেয়ার হারাচ্ছিল। হঠাৎ, এটি মাইক্রোসফ্টের স্ট্যান্ডার্ডাইজেশন সমর্থন করার আগ্রহী। আমরা এখনও সেখানে নেই, তবে এটি সঠিক পথে রয়েছে।

এদিকে, ভি 8 ওপেন সোর্স ছিল, যা লোকেদের নোড.জেএস এর মতো দ্রুত জাভাস্ক্রিপ্ট পার্সারের জন্য নতুন ব্যবহারগুলি চিন্তা করতে শুরু করেছিল

তবে, আপনার প্রশ্নে ফিরে যেতে: জাভাস্ক্রিপ্ট কী? এটি ECMAScript এর সাধারণ (এবং আসল) নাম, সাধারণত একটি প্রোটোটাইপিকাল ভাষার স্পেসিফিকেশন , তবে ব্রোসওয়ারে ডোমেন অবজেক্ট মডেলটি নেভিগেট এবং পরিচালনা করার জন্য ব্যবহৃত হয় না not

ইসিএমএ -২2২ হ'ল স্ট্যান্ডার্ড সংজ্ঞা, যেমন ইসিএমএ -৩৩৪ হ'ল সি # এর মানক সংজ্ঞা। ECMAScript একমাত্র নাম যার সাথে সমস্ত আগ্রহী পক্ষ সম্মত হতে পারে,'৯৯ সালে, যখন ECMA-262 লেখা হয়েছিল।


7
আমি যদি আপনার উত্তরটি একাধিকবার উজ্জীবিত করতে পারি তবে আমি এটি করতাম :-) এটি কয়েকটি জিনিসকে আরও পরিষ্কার করে তুলতে সহায়তা করে। সি সংকলক উপমা পরিস্থিতিটিকে কিছুটা বোধগম্য করে তোলে :-) জাভাস্ক্রিপ্ট ব্যতীত বাইনারি সংকলন করা হয় নি এবং শেষ ব্যবহারকারীরা অ / আধিক্য-কার্যকরী স্ক্রিপ্টগুলি দেখতে পান। সুতরাং আমি কী বুঝতে পারি যে আমি কোনও পৃষ্ঠা কোনও মানক হিসাবে তৈরি করতে পারি না এবং এটি এখনও সমস্ত ব্রাউজারগুলিতে একই কাজ করার আশাবাদী? (এখনও অপারেটিভ শব্দ হচ্ছে)।
লর্ড লোহ

1
@LordLoh। ঐটা ঠিক. তবে আপনি jQuery এবং প্রোটোটাইপের মতো লাইব্রেরিকে আপনার পক্ষে পার্থক্য বিমূর্ত করার অনুমতি দিতে পারেন।
pdr

এই পোস্টটি এবং গবেষণাটি শুরু হয়েছিল যখন jQuery অ্যানিমেশন IE9 এ কাজ করে না এবং আমি anybrowser.org প্রচারাভিযানের ধারণাটি মিথ্যা বলেছিলাম এবং আশা করি যে আমি কোনও মানকে আটকে রাখতে পারি। এইচটিএমএল 5 / সিএসএস 3 / জেএস। জেএস আমার বনেটে বাগ হিসাবে শেষ হয়েছিল।
লর্ড লোহ

1
@LordLoh। আমি এতটা নিশ্চিত হতে পারব না যে এটি jQuery এর দোষ। কেবলমাত্র একটি তাত্ক্ষণিক দৃষ্টিভঙ্গি আপনার এইচটিএমএল (উদাহরণস্বরূপ উদ্ধৃতিগুলি) নিয়ে সমস্যা দেখায় এবং আপনি যখন আপনার জাভাস্ক্রিপ্টটিকে ন্যূনতম করেন তখন অদ্ভুত ফলাফল হতে পারে যদি আপনি খুব সঠিক না হন। আমি অনেক আগে একটি সমস্যা মনে করেছি যেখানে আমি একটি সেমিকোলনটি মিস করেছি এবং এটি কেবল প্রধান ব্রাউজারগুলির মধ্যে একটিতে সংক্ষেপণের পরে ব্যর্থ হয়েছিল। jQuery বেশ স্থিতিশীল এবং আই 9 সঙ্গে ভাল কাজ করা উচিত।
pdr

5
@LordLoh। কনসোল.লগ আপনার সমস্যা। আপনি বিকাশকারী সরঞ্জামদণ্ডটি না খুললে এটি কাজ করে না (এবং এভাবে অবজেক্ট "কনসোল" তৈরি করে)।
পিডিআর

23

জাভাস্ক্রিপ্ট ECMAScript এর একটি সাধারণভাবে ব্যবহৃত বাস্তবায়ন। এটি স্কিম পরিবারের মতো একটি খুব একই অবস্থা । স্কিমে, আপনার একটি অত্যন্ত আনুষ্ঠানিক স্পেসিফিকেশন রয়েছে। বর্তমান সংস্করণটি R6RS যদিও R5RS এখনও পর্যন্ত এই পোস্টটি হিসাবে বেশি সাধারণভাবে প্রয়োগকৃত মান। প্রকল্পের বয়স এবং সাধারণ দর্শনের কারণে বাস্তবায়নগুলি ECMAScript এর চেয়ে বেশি ছড়িয়ে পড়ে।

মোজিলার ফায়ারফক্স এবং গুগলের ক্রোম উভয়েরই বাজারে বিস্ফোরক বৃদ্ধির কারণে জাভাস্ক্রিপ্ট এখন সাধারণভাবে দেখা যায়। এটি নেটস্কেপ নেভিগেটরের সাথে মূলত একটি পা বাড়িয়েছিল যা শেষ পর্যন্ত মোজিলা ব্রাউজারে পরিণত হয় এবং তারপরে ফায়ারফক্সে পরিণত হয় (এবং আপনি যদি স্কিমের ভিড়ের সাথে দৌড়েন তবে আইসওয়েসেল)।

এখন এখানে এটি একটু dicey পায়। জাভাস্ক্রিপ্টের বেশিরভাগ অভিনয় পার্সার এবং এটি চালিত ইঞ্জিন থেকে আসে। এখানেই ব্রাউজারগুলির মধ্যে প্রকৃত পার্থক্য সুস্পষ্ট হয়ে যায়। স্পাইডারমনকি জাভাস্ক্রিপ্ট ভি 8 এর চেয়ে আলাদাভাবে চালায়। জাভাস্ক্রিপ্টটিতে এখনও সম্পূর্ণ সাধারণ লাইব্রেরির অভাবের মতো মোটামুটি দাগ রয়েছে, যদিও এটি নিয়ে কাজ করা হচ্ছে।

সুতরাং জাভাস্ক্রিপ্ট যদি সি ++ হয়, তবে ইউসিএক্স এবং জি ++ "স্ট্যান্ডার্ড" এর নিকটতম এবং এনট এবং অবজেক্টিভ সি ++ এর জন্য সি ++ আরও কার্যকরভাবে ECMAScript থেকে অ্যাকসেস্ক্রিপ্ট যেভাবে রয়েছে তার থেকে আরও বেশি নীচে থাকা ECMAScript হবে C ++ 11 would

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.