আপনি খুব সামান্য পার্থক্যের tsxপরিবর্তে ব্যবহার করতে পারেন ts। tsxস্পষ্টতই jsxটাইপস্ক্রিপ্টের ভিতরে ট্যাগগুলির ব্যবহারের অনুমতি দেয় , তবে এটি কিছু পার্সিং অস্পষ্টতার পরিচয় দেয় যা টিএসএক্সকে কিছুটা আলাদা করে তোলে। আমার অভিজ্ঞতায় এই পার্থক্যগুলি খুব বেশি বড় নয়:
<>যে জেএসএক্স ট্যাগের চিহ্নিতকারী হিসাবে এটি কাজ করে না তার সাথে জাল টাইপ করুন।
প্রকারের নিরীক্ষণের জন্য টাইপস্ক্রিপ্টের দুটি বাক্য গঠন রয়েছে। তারা উভয়ই একই জিনিসটি করে তবে একটি টিএসএক্সে ব্যবহারযোগ্য অন্যটি নয়:
let a: any;
let s = a as string // ok in tsx and ts
let s2 = <string>a // only valid in ts
আমি ব্যবহার করেন asপরিবর্তে <>মধ্যে tsদৃঢ়তা জন্য ভাল হিসাবে ফাইল। asআসলে টাইপস্ক্রিপ্টে চালু হয়েছিল কারণ <>এটি ব্যবহারযোগ্য ছিল নাtsx
কোনও বাধা ছাড়াই জেনেরিক তীর ফাংশনগুলি সঠিকভাবে পার্স করা যায় না
নীচের তীর ফাংশনটি ঠিক আছে tsতবে একটি ত্রুটি tsxহিসাবে <T>একটি ট্যাগ শুরু হওয়ার অর্থ ব্যাখ্যা করা হয়েছেtsx
const fn = <T>(a: T) => a
আপনি বাধা যুক্ত করে বা তীর ফাংশনটি ব্যবহার না করে এটি পেতে পারেন:
const fn = <T extends any>(a: T) => a
const fn = <T,>(a: T) => a // this also works but looks weird IMO
const fn = function<T>(a: T) { return a;}
বিঃদ্রঃ
আপনি ts এর পরিবর্তে tsx ব্যবহার করতে পারেন, আমি এর বিপরীতে সুপারিশ করব। কনভেনশন একটি শক্তিশালী জিনিস, লোকেদের সাথে tsxমিলিত হয় jsxএবং সম্ভবত অবাক হয় যে আপনার কোনও jsxট্যাগ নেই, সেরা বিকাশকারীকে সর্বনিম্ন অবাক করে দিন।
উপরের অস্পষ্টতাগুলি (যদিও সম্ভবত সম্পূর্ণ তালিকা নয়) বড় না হলেও তারা tsফাইলগুলিকে পিছনে সামঞ্জস্যপূর্ণ রাখতে নতুন সিনট্যাক্সের জন্য একটি ডেডিকেটেড ফাইল এক্সটেনশন ব্যবহারের সিদ্ধান্তে সম্ভবত বড় ভূমিকা নিয়েছিল ।