ES6 এ "কঠোর ব্যবহার" ব্যবহার করার পরামর্শ দেওয়া হয়নি?


200

আমি এখনও ECMAScript 6 এর সাথে পরিচিত নই। আমি সবেমাত্র প্রতিক্রিয়া স্টার্টার কিট রেপো ক্লোন করেছি, যা অ্যাপ্লিকেশন কোডের জন্য ES6 ব্যবহার করে। আমি অবাক হয়ে দেখলাম যে লাইনটারটি নির্দেশের উপস্থিতিগুলি নিষিদ্ধ করার জন্য কনফিগার করা হয়েছে use strict, যা আমি ভেবেছিলাম প্রাক ES6 জাভাস্ক্রিপ্টে প্রস্তাবিত হয়েছিল। তাহলে কি লাভ?



উত্তর:


257

ES6 মডিউলগুলি সর্বদা কঠোর মোডে থাকে। প্রাসঙ্গিক অংশ উদ্ধৃত করা বৈশিষ্ট :

10.2.1 স্ট্রিক্ট মোড কোড

একটি ইসমাস্ক্রিপ্ট স্ক্রিপ্ট সিনট্যাকটিক ইউনিট বাধা বা কঠোর মোড সিনট্যাক্স এবং শব্দার্থবিজ্ঞান ব্যবহার করে প্রক্রিয়া করা যেতে পারে। কোড নিম্নলিখিত পরিস্থিতিতে কড়া মোড কোড হিসাবে ব্যাখ্যা করা হয়:

  • গ্লোবাল কোডটি কঠোর মোড কোড হয় যদি এটি কোনও ব্যবহার কঠোর নির্দেশিকা (14.1.1 দেখুন) সহ কোনও নির্দেশিক প্রাগ দিয়ে শুরু হয়।
  • মডিউল কোড সর্বদা কঠোর মোড কোড।
  • একটি ClassDeclaration বা ClassExpression এর সমস্ত অংশ কড়া মোড কোড।
  • ইভাল কোডটি কঠোর মোড কোড হয় যদি এটি কোনও স্ট্রাইকটিভ প্রোলগের সাথে শুরু হয় যার মধ্যে ব্যবহারের কঠোর নির্দেশিকা রয়েছে বা যদি কলটি খোলার ডায়রেক্ট ইভাল হয় (12.3.4.1 দেখুন) যা কঠোর মোড কোডের মধ্যে রয়েছে।
  • যদি সম্পর্কিত ফাংশনডেক্লারেশন, ফাংশনএক্সপ্রেসন, জেনারেটর ডিক্লেয়ারেশন, জেনারেটর এক্সপ্রেসন, মেথডডিফাইনিশন, বা অ্যারো ফাংশন যুক্ত থাকে তবে ফাংশনের কোড [যা [ECMAScriptCode]] এর অভ্যন্তরীণ স্লটটির একটি নির্দেশিক প্রোলগ দিয়ে শুরু হয় এতে একটি ব্যবহার কঠোর নির্দেশিকা রয়েছে।
  • বিল্ট-ইন ফাংশন এবং জেনারেটর কনস্ট্রাক্টরগুলিকে আর্গুমেন্ট হিসাবে সরবরাহ করা ফাংশন কোডটি হ'ল কঠোর মোড কোড হয় যদি শেষ যুক্তিটি স্ট্রিং হয় যখন প্রক্রিয়া করা হয় এমন একটি ফাংশনবিডি যা একটি ডাইরেক্টিভ প্রলগের সাথে শুরু হয় যেখানে একটি ব্যবহার কঠোর নির্দেশিকা রয়েছে।

11
গ্লোবাল কোড এবং মডিউল কোডের মধ্যে পার্থক্য কী? আমি মনে করি আমি ভুল বোঝাবুঝি করছি, কারণ আমার কাছে মডিউল কোডটির অর্থ মডিউল.জেএস-এর সমস্ত কিছুর দরকার থাকলে ('মডিউল')।
ওকে

8
@ ব্রায়ানমাহসমান ইএস ২০১৫ এর নেটিভ মডিউল রয়েছে। কমনজেএস হ'ল একটি গ্রন্থাগার এবং ভাষার সাথে কিছুই করার নেই।
কিট সান্দি

18
আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ. সুতরাং যদি এটি আমদানি / রফতান কীওয়ার্ড ব্যবহার না করে তবে এটি কোনও ES6 মডিউল নয়? এখনই আমি নোড 4 ব্যবহার করছি এবং আমদানি / রফতানি কীওয়ার্ডগুলিতে আমার অ্যাক্সেস নেই এবং আমি কেবল কমনজেএস মডিউল.এক্সপোর্টগুলি ব্যবহার করছি এবং ডিফল্টরূপে সক্রিয় ES6 বৈশিষ্ট্যগুলির পাশাপাশি প্রয়োজন ()। এটি ব্যাখ্যা করবে যে আমাকে কেন প্রতিটি ফাইলের শীর্ষে ব্যবহার করতে হবে। প্রযুক্তিগতভাবে আমি এখনও ভি 8 এ সক্ষম কিছু ইএস 6 বৈশিষ্ট্য সহ কমনজেএস মডিউলগুলি লিখছি?
ওকে

7
"এর একটি বিশদ পরীক্ষার জন্য এটি কি মডিউল?" দেখুন, nczonline.net/blog/2016/04/… "... আমদানি বা রফতানির উপস্থিতি একটি মডিউল নির্দেশ করতে পারে, আমদানি বা রফতানির অভাব স্পষ্টভাবে ইঙ্গিত দেয় না যে ফাইলটি মডিউল নয় So তাই রয়েছে পার্সিংয়ের সময় কোনও ফাইলই মডিউল হ'ল স্বয়ংক্রিয়ায়ণের কোনও কার্যকর উপায় ""
পিটিএম

1
"মডিউল" আসলে কী? আমি কেবল একটি সমন্বিত স্ক্রিপ্টে strictত্রুটি পেয়েছি ( এয়ারবিএনবি প্রিসেট সহ ) "use strict"; console.log('foo')। এটা কি মডিউল?
ড্যান ড্যাসক্লেস্কু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.