জাভাস্ক্রিপ্টের একটি স্ট্রিংয়ে dollar {} (ডলার সাইন এবং কোঁকড়া ধনুর্বন্ধনী) এর অর্থ কী?


160

আমি এখানে বা এমডিএন তে কিছু দেখিনি। আমি নিশ্চিত যে আমি কিছু মিস করছি। এই কোথাও কিছু ডকুমেন্টেশন আছে?

কার্যকরীভাবে, দেখে মনে হচ্ছে এটি আপনাকে +অপারেটরটি ব্যবহার করে কনটেনটেশন না করে একটি স্ট্রিংয়ের অভ্যন্তরে একটি ভেরিয়েবল বাসাতে দেয় । আমি এই বৈশিষ্ট্যটিতে ডকুমেন্টেশন খুঁজছি।

উদাহরণ:

var string = 'this is a string';

console.log(`Insert a string here: ${string}`);


আপনি যা জিজ্ঞাসা করছেন তার কোনও প্রসঙ্গ দিতে পারেন? এই প্রশ্নটি লিখিত হিসাবে অস্পষ্ট।
স্যাম হ্যানলি


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

@ স্কুইন্ট — সম্মত হন, তবে উত্সের নমুনা কোড এবং উল্লেখটি সহায়ক হত been
রবজি

উদাহরণ যুক্ত হয়েছে। রেফারেন্স একটি কোডিং চ্যালেঞ্জের মধ্যে ছিল তবে এটি একটি দেওয়া হয়েছিল, যেন এটি আপনি কিছু ব্যবহার করেন। এটিতে কিছুই দেখেনি এবং কিছুও খুঁজে পেল না। (গত বেশ কয়েক বছর ধরে আমাকে এখানে কখনই প্রশ্ন জিজ্ঞাসা করতে হয়নি। এখন প্রায় সবকিছুই আছে বলে মনে হচ্ছে ...)
ড্যারেন জয়

উত্তর:


192

আপনি টেম্পলেট আক্ষরিক সম্পর্কে কথা বলছেন ।

তারা উভয় মাল্টলাইন স্ট্রিং এবং স্ট্রিং ইন্টারপোলেশন অনুমতি দেয়।

একাধিক স্ট্রিং:

console.log(`foo
bar`);
// foo
// bar

স্ট্রিং বিভাজন:

var foo = 'bar';
console.log(`Let's meet at the ${foo}`);
// Let's meet at the bar


67
একটি জিনিস যা আমাকে দীর্ঘদিন ধরে বিভ্রান্ত করেছে তা হ'ল টেমপ্লেট লিটারালগুলি ব্যাকটিক ব্যবহার করে যা একক উদ্ধৃতি চিহ্ন (') এর পরিবর্তে কীবোর্ডের "1" এর বাম দিকে রয়েছে।
সিডনি

19
শীতল: আপনি এমনকি কোড "ইনজেকশন" করতে পারেন:console.log(`Your array:\n ${arr.join('\n ')}`)
T4NK3R

5
এটি অদ্ভুত যা Template Literalআইই সমর্থন করে না বা আইই এর পক্ষে দুর্দান্ত জিনিসগুলি সমর্থন না করা স্বাভাবিক। আরও পড়ুন
মোহাম্মদ মুসাভি

12

উপরে একটি মন্তব্যে উল্লিখিত হিসাবে, আপনি টেম্পলেট স্ট্রিং / আক্ষরিক মধ্যে প্রকাশ করতে পারেন। উদাহরণ:

const one = 1;
const two = 2;
const result = `One add two is ${one + two}`;
console.log(result); // output: One add two is 3


টেম্পলেট স্ট্রিংগুলি স্ট্রিংয়ে কোড ইনজেক্ট করতে ব্যবহার করা যেতে পারে তা কি সঠিক?
কার্লোসওয়াম 85

আপনি ইনজেক্টিং এক্সপ্রেশন এবং এক্সপ্রেশন কোড হয়। আপনি কোনও ধরণের কোড ইনজেক্ট করতে পারবেন না তবে কেবল জাভাস্ক্রিপ্ট এক্সপ্রেশন।
জোয়েল এইচ

আমি আরও সুনির্দিষ্ট হওয়ার চেষ্টা করব। স্ট্রিং লিটারালগুলি ব্যবহার করার সময় আমি like like ation স্বরলিপি ব্যবহার করে কোনও স্ট্রিং ভিতরে objুকতে পারি obj রাইট?
carloswm85

হ্যাঁ, এবং আপনি এটি কনসোলে নিজের জন্য চেষ্টা করে দেখতে পারেন, যেমনhey ${obj.name}
জোয়েল এইচ

0

আপনি টেমপ্লেট লিটারালগুলির সাথে অন্তর্ভুক্ত প্রকারের রূপান্তরও করতে পারেন। উদাহরণ:

let fruits = ["mango","orange","pineapple","papaya"];

console.log(`My favourite fruits are ${fruits}`);
// My favourite fruits are mango,orange,pineapple,papaya
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.