<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	תגובות לפוסט: טייפסקריפט: סוגים מתקדמים	</title>
	<atom:link href="https://internet-israel.com/%D7%9E%D7%93%D7%A8%D7%99%D7%9B%D7%99%D7%9D/typescript/%D7%98%D7%99%D7%99%D7%A4%D7%A1%D7%A7%D7%A8%D7%99%D7%A4%D7%98-%D7%A1%D7%95%D7%92%D7%99%D7%9D-%D7%9E%D7%AA%D7%A7%D7%93%D7%9E%D7%99%D7%9D/feed/" rel="self" type="application/rss+xml" />
	<link>https://internet-israel.com/%d7%9e%d7%93%d7%a8%d7%99%d7%9b%d7%99%d7%9d/typescript/%d7%98%d7%99%d7%99%d7%a4%d7%a1%d7%a7%d7%a8%d7%99%d7%a4%d7%98-%d7%a1%d7%95%d7%92%d7%99%d7%9d-%d7%9e%d7%aa%d7%a7%d7%93%d7%9e%d7%99%d7%9d/</link>
	<description>רן בר-זיק על פיתוח אינטרנט מתקדם</description>
	<lastBuildDate>Wed, 08 Nov 2023 01:17:13 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>
		מאת: שלמה		</title>
		<link>https://internet-israel.com/%d7%9e%d7%93%d7%a8%d7%99%d7%9b%d7%99%d7%9d/typescript/%d7%98%d7%99%d7%99%d7%a4%d7%a1%d7%a7%d7%a8%d7%99%d7%a4%d7%98-%d7%a1%d7%95%d7%92%d7%99%d7%9d-%d7%9e%d7%aa%d7%a7%d7%93%d7%9e%d7%99%d7%9d/comment-page-1/#comment-4637</link>

		<dc:creator><![CDATA[שלמה]]></dc:creator>
		<pubDate>Wed, 08 Nov 2023 01:17:13 +0000</pubDate>
		<guid isPermaLink="false">https://internet-israel.com/?p=9927#comment-4637</guid>

					<description><![CDATA[&quot;שימו לב: מקובל להשתמש באות גדולה בהגדרת type alias או interface&quot; - הדוגמה הראשונה בדף הזה היא user שמתחילה באות קטנה...]]></description>
			<content:encoded><![CDATA[<p>&quot;שימו לב: מקובל להשתמש באות גדולה בהגדרת type alias או interface&quot; &#8211; הדוגמה הראשונה בדף הזה היא user שמתחילה באות קטנה&#8230;</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		מאת: מישהו		</title>
		<link>https://internet-israel.com/%d7%9e%d7%93%d7%a8%d7%99%d7%9b%d7%99%d7%9d/typescript/%d7%98%d7%99%d7%99%d7%a4%d7%a1%d7%a7%d7%a8%d7%99%d7%a4%d7%98-%d7%a1%d7%95%d7%92%d7%99%d7%9d-%d7%9e%d7%aa%d7%a7%d7%93%d7%9e%d7%99%d7%9d/comment-page-1/#comment-3884</link>

		<dc:creator><![CDATA[מישהו]]></dc:creator>
		<pubDate>Mon, 14 Mar 2022 08:36:57 +0000</pubDate>
		<guid isPermaLink="false">https://internet-israel.com/?p=9927#comment-3884</guid>

					<description><![CDATA[יפה יפה :)

כמה הערות:

1. כדאי להזכיר שאין אפשרות לעשות union בinterfaces (משהו כמו interface A {} &#124; {}) וזה לפעמים מעצבן.
 2. אפשר לדמות extends בלי interfaces בעזרת intersection  - כלומר type A = SuperType &#038; {...}.
3. הקטע הכי מגניב לconst strings זה כשזה מגיע עם interpolation - לדוג&#039; אפשר לעשות:
type Unit = &quot;px&quot; &#124; &quot;em&quot; &#124; ...;
type CSSValue = `${number}{Unit}`;
ואז &quot;123px&quot; מתקבל אבל &quot;123xp&quot; או &quot;12px3&quot; לא (ההגדרה הזו לא מושלמת אבל אפשר להרחיב אותה, יש אנשים שכתבו דברים הזויים כמו JSON parsers עם זה, זה אפילו turing complete).
4. במקום לחזור על הערך עם as &quot;string&quot;, הדרך המקובלת היא לכתוב as const.
5. אם אני זוכר נכון, ההמרה עם הסוגריים המשולשים לא עובדת עם jsx.]]></description>
			<content:encoded><![CDATA[<p>יפה יפה 🙂</p>
<p>כמה הערות:</p>
<p>1. כדאי להזכיר שאין אפשרות לעשות union בinterfaces (משהו כמו interface A {} | {}) וזה לפעמים מעצבן.<br />
 2. אפשר לדמות extends בלי interfaces בעזרת intersection  &#8211; כלומר type A = SuperType &amp; {&#8230;}.<br />
3. הקטע הכי מגניב לconst strings זה כשזה מגיע עם interpolation &#8211; לדוג' אפשר לעשות:<br />
type Unit = &quot;px&quot; | &quot;em&quot; | &#8230;;<br />
type CSSValue = `${number}{Unit}`;<br />
ואז &quot;123px&quot; מתקבל אבל &quot;123xp&quot; או &quot;12px3&quot; לא (ההגדרה הזו לא מושלמת אבל אפשר להרחיב אותה, יש אנשים שכתבו דברים הזויים כמו JSON parsers עם זה, זה אפילו turing complete).<br />
4. במקום לחזור על הערך עם as &quot;string&quot;, הדרך המקובלת היא לכתוב as const.<br />
5. אם אני זוכר נכון, ההמרה עם הסוגריים המשולשים לא עובדת עם jsx.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		מאת: משתמש אנונימי (לא מזוהה)		</title>
		<link>https://internet-israel.com/%d7%9e%d7%93%d7%a8%d7%99%d7%9b%d7%99%d7%9d/typescript/%d7%98%d7%99%d7%99%d7%a4%d7%a1%d7%a7%d7%a8%d7%99%d7%a4%d7%98-%d7%a1%d7%95%d7%92%d7%99%d7%9d-%d7%9e%d7%aa%d7%a7%d7%93%d7%9e%d7%99%d7%9d/comment-page-1/#comment-3882</link>

		<dc:creator><![CDATA[משתמש אנונימי (לא מזוהה)]]></dc:creator>
		<pubDate>Sun, 13 Mar 2022 18:56:10 +0000</pubDate>
		<guid isPermaLink="false">https://internet-israel.com/?p=9927#comment-3882</guid>

					<description><![CDATA[יש עוד הבדל שהוא מהותי בין interfaces לtype aliases. שinterface הוא לא distrebuted. זה אומר שהכל מושטח (אין union למשל). מה שגם הופך אותו ליותר מהיר (interfaces מומלצים על ידי צוות הTS). בנוסף לא הייתי משתמש בas בשביל null assertion, אלא ב!. כי זה as מוריד משמעותית מהtype safety. ועוד דבר, as const הרבה יותר נחמד מאשר כל פעם לעשות copy &#038; paste.

וידאו טוב על distribution

https://www.youtube.com/watch?v=IsnyTZi84ZY]]></description>
			<content:encoded><![CDATA[<p>יש עוד הבדל שהוא מהותי בין interfaces לtype aliases. שinterface הוא לא distrebuted. זה אומר שהכל מושטח (אין union למשל). מה שגם הופך אותו ליותר מהיר (interfaces מומלצים על ידי צוות הTS). בנוסף לא הייתי משתמש בas בשביל null assertion, אלא ב!. כי זה as מוריד משמעותית מהtype safety. ועוד דבר, as const הרבה יותר נחמד מאשר כל פעם לעשות copy &amp; paste.</p>
<p>וידאו טוב על distribution</p>
<p><a href="https://www.youtube.com/watch?v=IsnyTZi84ZY" rel="nofollow ugc">https://www.youtube.com/watch?v=IsnyTZi84ZY</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		מאת: טיפוסית		</title>
		<link>https://internet-israel.com/%d7%9e%d7%93%d7%a8%d7%99%d7%9b%d7%99%d7%9d/typescript/%d7%98%d7%99%d7%99%d7%a4%d7%a1%d7%a7%d7%a8%d7%99%d7%a4%d7%98-%d7%a1%d7%95%d7%92%d7%99%d7%9d-%d7%9e%d7%aa%d7%a7%d7%93%d7%9e%d7%99%d7%9d/comment-page-1/#comment-3881</link>

		<dc:creator><![CDATA[טיפוסית]]></dc:creator>
		<pubDate>Sun, 13 Mar 2022 16:56:36 +0000</pubDate>
		<guid isPermaLink="false">https://internet-israel.com/?p=9927#comment-3881</guid>

					<description><![CDATA[תודה רבה על הפוסט :)
אני חדשה יחסית ב- TS ורציתי לשאול - מתי נבחר להשתמש בinterface במקום בclass בts? זה כדי להימנע מהתעסקות עם ירושה? 
 נתקלתי במצב בו רציתי לבדוק אם אובייקט הוא מטיפוס א׳ או ב׳, אבל בגלל ששני הטיפוסים היו  interfaces לא יכלתי להשתמש בפתרון מהיר כמו אופרטור typeof.]]></description>
			<content:encoded><![CDATA[<p>תודה רבה על הפוסט 🙂<br />
אני חדשה יחסית ב- TS ורציתי לשאול &#8211; מתי נבחר להשתמש בinterface במקום בclass בts? זה כדי להימנע מהתעסקות עם ירושה?<br />
 נתקלתי במצב בו רציתי לבדוק אם אובייקט הוא מטיפוס א׳ או ב׳, אבל בגלל ששני הטיפוסים היו  interfaces לא יכלתי להשתמש בפתרון מהיר כמו אופרטור typeof.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		מאת: משתמש אנונימי (לא מזוהה)		</title>
		<link>https://internet-israel.com/%d7%9e%d7%93%d7%a8%d7%99%d7%9b%d7%99%d7%9d/typescript/%d7%98%d7%99%d7%99%d7%a4%d7%a1%d7%a7%d7%a8%d7%99%d7%a4%d7%98-%d7%a1%d7%95%d7%92%d7%99%d7%9d-%d7%9e%d7%aa%d7%a7%d7%93%d7%9e%d7%99%d7%9d/comment-page-1/#comment-3880</link>

		<dc:creator><![CDATA[משתמש אנונימי (לא מזוהה)]]></dc:creator>
		<pubDate>Sun, 13 Mar 2022 11:16:05 +0000</pubDate>
		<guid isPermaLink="false">https://internet-israel.com/?p=9927#comment-3880</guid>

					<description><![CDATA[אחלה מאמר, כתוב מעולה, עבודה יפה!

חשוב לציין שהנקודה לגבי ההבדל שבין אינטרפייסים לטייפים שאי אפשר להרחיב טייפים הוא לא נכון. אפשר - טייפים משתמשים ב&#038; במקום במילת הקוד extends. 

הנה חלק מהדוקומטנציה הרשמית שמסביר את ההבדלים:
https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#differences-between-type-aliases-and-interfaces]]></description>
			<content:encoded><![CDATA[<p>אחלה מאמר, כתוב מעולה, עבודה יפה!</p>
<p>חשוב לציין שהנקודה לגבי ההבדל שבין אינטרפייסים לטייפים שאי אפשר להרחיב טייפים הוא לא נכון. אפשר &#8211; טייפים משתמשים ב&amp; במקום במילת הקוד extends. </p>
<p>הנה חלק מהדוקומטנציה הרשמית שמסביר את ההבדלים:<br />
<a href="https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#differences-between-type-aliases-and-interfaces" rel="nofollow ugc">https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#differences-between-type-aliases-and-interfaces</a></p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
