સંયોજન (A | B) એ "A અથવા B" નો અર્થ છે. છેદન (A & B) એ "A અને B એક સાથે" નો અર્થ છે.
ts
= | | ;
: = ;
() { }
સંયોજન (A | B) એ "A અથવા B" નો અર્થ છે. છેદન (A & B) એ "A અને B એક સાથે" નો અર્થ છે.
= | | ;
: = ;
() { }
function format(x: string | number) {
// x.toFixed(2); // ❌ toFixed doesn't exist on string
if (typeof x === "number") return x.toFixed(2); // ✅ narrowed to number
return x.toUpperCase(); // ✅ here it's a string
}
જ્યાં સુધી તમે સંયોજનને સંકુચિત ન કરો, તમે માત્ર એવા સદસ્યોને એક્સેસ કરી શકો છો જે સંયોજનના દરેક સદસ્યમાં હાજર છે — કમ્પાઇલર તમને સુરક્ષિત રાખે છે.
type Name = { name: string };
type Age = { age: number };
type Person = Name & Age; // must have BOTH name and age
const p: Person = { name: "Ann", age: 30 }; // both required
છેદન ઑબ્જેક્ટ પ્રકારોને સંયોજિત/મિશ્રણ કરવા માટે શ્રેષ્ઠ છે (દા.ત. અસ્તિત્વમાં છે તેવા પ્રકારમાં props ઉમેરવું).
સંયોજન "કેટલીક શક્યતાઓમાંથી એક" મોડેલ કરે છે — સુરક્ષિત સ્ટેટ મોડલિંગનું પાયું (દા.ત. રિડ્યુસર સ્ટેટ માટે ભેદભાવવાળા સંયોજન), ફંક્શન ઓવરલોડ્સ, અને nullable પ્રકારો (T | null).
છેદન પ્રકારોને એક સાથે સંયોજિત કરે છે.
એક સાથે, તેઓ TypeScript ની પ્રકાર પ્રણાલીને વાસ્તવિક ડેટાને સચોટ રીતે પ્રતિબિંબિત કરવા માટે પૂરતી અભિવ્યક્તિશીલ બનાવે છે.