<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Những shorthand JavaScript và TypeScript cần biết để code hiệu quả</title>
<meta name="description" content="Những shorthand JavaScript và TypeScript cần biết để code hiệu quả - Savefile - Tin Tức -...">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Những shorthand JavaScript và TypeScript cần biết để code hiệu quả">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;nhung-shorthand-javascript-va-typescript-can-biet-de-code-hieu-qua-7155.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/nhung-shorthand-javascript-va-typescript-can-biet-de-code-hieu-qua-7155.html">
<link rel="shortcut icon" href="https://nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/nhung-shorthand-javascript-va-typescript-can-biet-de-code-hieu-qua-7155.html">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://nguoicodonvn2008.info/">https://nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Những shorthand JavaScript và TypeScript cần biết để code hiệu quả</h1>
		<ul class="list-inline">
			<li>Thứ ba - 06/06/2023 00:50</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Những shorthand JavaScript và TypeScript cần biết để code hiệu quả" src="https://st.quantrimang.com/photos/image/2023/06/05/typescript-shorthand-7.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;">Khi đã thoải mái viết các chương trình&nbsp;<strong>JavaScript&nbsp;</strong>cơ bản, giờ là lúc cần học một số cú pháp để làm code sạch và tăng tốc quá trình viết code.</p>

<p style="text-align: justify;"><img data-i="0" data-src="https://st.quantrimang.com/photos/image/2023/06/05/typescript-shorthand-7.jpg" data-was-processed="true" height="340" src="https://st.quantrimang.com/photos/image/2023/06/05/typescript-shorthand-7.jpg" width="650" /></p>

<p style="text-align: justify;"><strong>JavaScript và TypeScript</strong>&nbsp;là những ngôn ngữ lập trình cực kỳ phổ biến trong lĩnh vực phát triển web. Cả hai đều có những tính năng mở rộng và nhiều shortcut cú pháp giúp cải thiện đáng kể hiệu quả code.</p>

<p style="text-align: justify;">Giờ hãy cùng Quantrimang.com<strong>&nbsp;học cách viết code chặt chẽ và tận dụng tối đa hai ngôn ngữ JavaScript, TypeScript&nbsp;</strong>bằng một số shortcut hữu ích.</p>

<h2 style="text-align: justify;">Toán tử ba ngôi</h2>

<p style="text-align: justify;">Toán tử ba ngôi cung cấp một cú pháp hiệu quả và chính xác để diễn đạt lệnh điều kiện. Nó có 3 phần: điều kiện, một biểu thức để chạy nếu điều kiện đánh giá true, một biểu thức để chạy nếu nó là false.</p>

<p style="text-align: justify;">Toán tử này đặc biệt hữu ích khi đưa ra quyết định dựa trên điều kiện và gán các giá trị tương ứng khác nhau.</p>

<p style="text-align: justify;">Xem xét ví dụ sau:</p>

<pre id="pre0" style="text-align: justify;">
const age = 20;
const ageType = age &gt;= 18 ? &quot;Adult&quot; : &quot;Child&quot;;
console.log(ageType); // Output: &quot;Adult&quot;</pre>

<p style="text-align: justify;">Ví dụ này dùng toán tử ba ngôi để kiểm tra xem liệu biến age lớn hơn hay bằng 18. Nếu bằng, code gán giá trị Adult cho biến ageType, nếu không, nó gán giá trị “Child”.</p>

<h2 style="text-align: justify;">Template Literals</h2>

<p style="text-align: justify;">Template Literals cung cấp một cách hiệu quả và mạnh mẽ trong việc định dạng các chuỗi JavaScript và kết hợp các biến hoặc biểu thức bên trong chúng. Khác chuỗi truyền thống dùng dấu nháy đơn hoặc kép, Template Literals dùng dấu nháy ngược (`).</p>

<p style="text-align: justify;">Cú pháp độc đáo này cung cấp một số ưu điểm khi làm việc với các chuỗi. Hãy xem xét ví dụ minh họa cách dùng template literal sau:</p>

<pre id="pre1" style="text-align: justify;">
const name = &quot;Alice&quot;;
const greeting = `Hello, ${name}!`;
console.log(greeting); // Output: &quot;Hello, Alice!&quot;</pre>

<p style="text-align: justify;">Ví dụ này bao gồm biến name trong template literal bằng&nbsp;<strong>${}</strong>. Điều này cho phép bạn dễ dàng xây dựng các chuỗi động.</p>

<h2 style="text-align: justify;">Toán tử Nullish Coalescing</h2>

<p style="text-align: justify;">Toán tử nullish coalescing (??) cung cấp cách tiện lợi để gán giá trị mặc định khi một biến là null hoặc undefined. Nó trả về toán hạng bên phải nếu toán hạng bên trái là null hoặc undefined.</p>

<p style="text-align: justify;">Xem xét ví dụ sau:</p>

<pre id="pre2" style="text-align: justify;">
const username = null;
const displayName = username ?? &quot;Guest&quot;;
console.log(displayName); // Output: &quot;Guest&quot;</pre>

<p style="text-align: justify;">Ở ví dụ này, vì biến&nbsp;<strong>username</strong>&nbsp;là<strong>&nbsp;null</strong>, toán tử nullish coalescing gán giá trị mặc định<strong>&nbsp;Guest&nbsp;</strong>cho biến&nbsp;<strong>displayName</strong>.</p>

<h2 style="text-align: justify;">Short-Circuit Evaluation</h2>

<p style="text-align: justify;">Short-Circuit Evaluation cho phép bạn viết biểu thức điều kiện ngắn gọn bằng cách sử dụng toán tử logic như<strong>&nbsp;&amp;&amp;&nbsp;</strong>và&nbsp;<strong>||</strong>. Nó tận dụng thực tế một toán tử logic sẽ ngừng đánh giá các biểu thức ngay khi có thể xác định kết quả.</p>

<p style="text-align: justify;">Xem xét ví dụ sau:</p>

<pre id="pre3" style="text-align: justify;">
const name = &quot;John&quot;;
const greeting = name &amp;&amp; `Hello, ${name}`;
console.log(greeting); // Output: &quot;Hello, John&quot;</pre>

<p style="text-align: justify;">Ví dụ này sẽ chỉ đánh giá biểu thức<strong>&nbsp;`Hello, ${name}`</strong>&nbsp;nếu biến name có&nbsp;<strong>Truthy value</strong>. Nếu không, nó sẽ short-circuits và gán giá trị&nbsp;<strong>name&nbsp;</strong>cho biến<strong>&nbsp;greeting</strong>.</p>

<h2 style="text-align: justify;">Shorthand Object Property Assignment</h2>

<p style="text-align: justify;">Khi tạo các đối tượng, bạn có lựa chọn dùng chú thích shorthand gán biến dưới dạng thuộc tính với cùng tên gọi.</p>

<p style="text-align: justify;">Ký hiệu shorthand này loại bỏ nhu cầu cần nêu cả tên thuộc tính và biến không cần thiết, kết quả cho bạn code chính xác, gọn gàng hơn.</p>

<p style="text-align: justify;">Hãy xem xét ví dụ sau:</p>

<pre id="pre4" style="text-align: justify;">
const firstName = &quot;John&quot;;
const lastName = &quot;Doe&quot;;
const person = { firstName, lastName };
console.log(person); // Output: { firstName: &quot;John&quot;, lastName: &quot;Doe&quot; }</pre>

<p style="text-align: justify;">Ví dụ này gán thuộc tính&nbsp;<strong>firstName</strong>&nbsp;và<strong>&nbsp;lastName</strong>&nbsp;bằng ký hiệu shorthand này.</p>

<p style="text-align: justify;">Trên đây là&nbsp;<strong>những shorthand&nbsp;JavaScript&nbsp;và&nbsp;TypeScript&nbsp;cần biết</strong>. Bạn thấy còn thiếu shorthand nào? Hãy cho chúng tôi biết nhé!</p>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/nhung-shorthand-javascript-va-typescript-can-biet-de-code-hieu-qua-7155.html" title="Những shorthand JavaScript và TypeScript cần biết để code hiệu quả">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/nhung-shorthand-javascript-va-typescript-can-biet-de-code-hieu-qua-7155.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<script src="https://nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://nguoicodonvn2008.info",
            "logo": "https://nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>