জাভাস্ক্রিপ্টে আপনি ++
অপারেটরটি আগে ( প্রাক-বর্ধন ) বা ভেরিয়েবলের পরে ( পোস্ট-ইনক্রিমেন্ট ) ব্যবহার করতে পারেন । কোন, যদি কোনও হয় তবে একটি পরিবর্তনশীল বৃদ্ধির এই পদ্ধতির মধ্যে পার্থক্যগুলি কী?
জাভাস্ক্রিপ্টে আপনি ++
অপারেটরটি আগে ( প্রাক-বর্ধন ) বা ভেরিয়েবলের পরে ( পোস্ট-ইনক্রিমেন্ট ) ব্যবহার করতে পারেন । কোন, যদি কোনও হয় তবে একটি পরিবর্তনশীল বৃদ্ধির এই পদ্ধতির মধ্যে পার্থক্যগুলি কী?
উত্তর:
অন্যান্য ভাষায় যেমন:
++x
(প্রাক-ইনক্রিমেন্ট) এর অর্থ "পরিবর্তনশীল বৃদ্ধি; অভিব্যক্তির মান চূড়ান্ত মান"x++
(পোস্ট-ইনক্রিমেন্ট) এর অর্থ "আসল মানটি মনে রাখুন, তারপরে পরিবর্তনশীল বৃদ্ধি করুন; অভিব্যক্তির মান হ'ল মূল মান"এখন যখন স্ট্যান্ডেলোন স্টেটমেন্ট হিসাবে ব্যবহৃত হয়, তখন তাদের একই অর্থ হয়:
x++;
++x;
পার্থক্য তখনই আসে যখন আপনি অন্য কোথাও প্রকাশের মান ব্যবহার করেন। উদাহরণ স্বরূপ:
x = 0;
y = array[x++]; // This will get array[0]
x = 0;
y = array[++x]; // This will get array[1]
+ 1
পরিবর্তে ব্যবহার করেন তবে কেমন লাগবে ++
? সংখ্যা যুক্ত করার আগে বা পরে বাড়ানোর কোনও উপায় আছে কি?
x
10 হিসাবে শুরু হয় তবে এর মান r1
21 হয়, যা 10 + 11। প্রথম মান x++
অভিব্যক্তি 10 এবং x
11 মান বৃদ্ধি হয় দ্বিতীয় মান x++
অভিব্যক্তি 11 এবং x
12. করার মান বৃদ্ধি হয়
++x
মান বৃদ্ধি করে, তারপরে মূল্যায়ন করে তা সঞ্চয় করে।x++
মানটি মূল্যায়ন করে, তারপরে বৃদ্ধি এবং সঞ্চয় করে।var n = 0, m = 0;
alert(n++); /* Shows 0, then stores n = 1 */
alert(++m); /* Shows 1, then stores m = 1 */
মনে রাখবেন ++x
যেখানে সম্ভব সেখানে ব্যবহার করার জন্য সামান্য পারফরম্যান্স সুবিধা রয়েছে কারণ আপনি ভেরিয়েবলটি পড়েন, এটিকে সংশোধন করেন, তারপরে এটি মূল্যায়ন এবং সংরক্ষণ করুন। x++
অপারেটর বনাম যেখানে আপনি মানটি পড়েন, মূল্যায়ন করুন, এটি সংশোধন করুন, তারপরে এটি সঞ্চয় করুন।
আমি তাদের বুঝতে পারছি যদি আপনি তাদের স্বতন্ত্র ব্যবহার করেন তবে তারা একই কাজ করে। যদি আপনি তাদের ফলাফলটিকে একটি অভিব্যক্তি হিসাবে আউটপুট দেওয়ার চেষ্টা করেন তবে তারা পৃথক হতে পারে। পার্থক্যটি দেখতে সতর্কতা (++ i) এর তুলনায় সতর্কতা (i ++) চেষ্টা করুন। আমি ++ যোগ করার পূর্বে আমার কাছে মূল্যায়ন করি এবং মূল্যায়ন করার আগে ++ আমি সংযোজনটি করি।
উদাহরণের জন্য http://jsfiddle.net/xaDC4/ দেখুন ।
var x = 0, y = 0;
//post-increment: i++ returns value then adds one to it
console.log('x++ will log: ', x++); //0
console.log('x after x++ : ', x); //1
//pre-increment: adds one to the value, then returns it
console.log('++y will log: ', ++y); //1
console.log('y after ++y : ', y); //1
আমি পোস্ট-ইনক্রিমেন্ট এবং প্রাক-ইনক্রিমেন্ট বোঝার একটি ব্যাখ্যা করেছি। সুতরাং আমি এটি এখানে রাখছি।
বরাদ্দ দেয় 0
করারx
let x = 0;
পোস্ট-ইনক্রিমেন্ট দিয়ে শুরু করা যাক
console.log(x++); // Outputs 0
কেন?
x++
এক্সপ্রেশনটি ভেঙে ফেলা যাক
x = x;
x = x + 1;
প্রথম বিবৃতিটি x
যার মান প্রদান করে0
এবং পরে যখন আপনি x
ভেরিয়েবলটি যে কোনও জায়গায় ব্যবহার করেন , তারপরে দ্বিতীয় বিবৃতিটি কার্যকর করা হয়
দ্বিতীয় বিবৃতি এই x + 1
অভিব্যক্তিটির মান প্রদান করে যা এটি(0 + 1) = 1
x
এই রাষ্ট্রের মানটি মনে রাখবেন যা1
এখন প্রি-ইনক্রিমেন্ট দিয়ে শুরু করা যাক
console.log(++x); // Outputs 2
কেন?
++x
এক্সপ্রেশনটি ভেঙে ফেলা যাক
x = x + 1;
x = x;
প্রথম বিবৃতিটি এই x + 1
এক্সপ্রেশনটির মান প্রদান করে যা এটি(1 + 1) = 2
দ্বিতীয়ত বিবৃতি মূল্যের ফেরৎ x
যা 2
তাই x = 2
এভাবেই আয়2
আশা করি এটি পোস্ট-ইনক্রিমেন্ট এবং প্রাক-ইনক্রিমেন্ট কী তা বুঝতে আপনাকে সহায়তা করবে!