国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

優(yōu)雅而高效的JavaScript——模板字面量

這篇具有很好參考價值的文章主要介紹了優(yōu)雅而高效的JavaScript——模板字面量。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

優(yōu)雅而高效的JavaScript——模板字面量,優(yōu)雅而高效,javascript,開發(fā)語言,ecmascript,原力計劃

??博主:小貓娃來啦
??文章核心:優(yōu)雅而高效的JavaScript——模板字面量

什么是模板字面量

  • 模板字面量的定義

模板字面量是一種更強大、更靈活的字符串表示方式,使用反引號()包裹。與傳統(tǒng)的字符串表示方式相比,模板字量允許在字符串中插入變量、表達式和原始字符串,并且支持多行文本的處理。

  • 模板字面量的特點
  • 使用反引號(`)包裹字符串,使得字符串更清晰易讀。
  • 使用${}語法可以在字符串中插入變量和表達式。
  • 支持多行文本的處理,不再需要手動添加換行符。

使用模板字面量插入變量

  • 使用${}語法插入變量

使用${}語法可以在模板字面量中插入變量,例如

const name = 'Alice';
const message = `Hello, ${name}!`;
console.log(message); // Hello, Alice!
  • 嵌套插入變量

模板字面量允許在${}語法中嵌套插入變量,例如:

const = 'John';
const lastName = 'Doe';
const fullName = `${firstName} ${lastName}`;
const message = `Hello, ${fullName}!`;
console.log(message); // Hello, John Doe!
  • 插入表達式

除了插入變量,模板字面量還可以插入任意的JavaScript表達式,例如:

const num1 = 5;
const num2 = 10;
const sum =The sum of ${num1} and ${num2} is ${num1 + num}.`;
console.log(sum); // The sum of 5 and 10 is 15
  • 插入原始字符串

在模板字面量中插入原始字符串時,可以使用${}語法的原始字符串形式,例如:

const rawString = String.raw`HelloWorld`;
console.log(rawString); // Hello\nWorld

處理多文本

  • 使用模板字面量的多行文本

模板字面量可以直接處理多行文本,不再需要手動添加換行符,例如:

const message = `This a 
multi-line 
text.`;
console.log(message);
// This is a
//-line
// text.
  • 多行文本的縮進和格式化

模板字面量支持多行文本的縮進和格式化,可以使用${}語法嵌套實現(xiàn),例如:

const indentExample = `
  This is an example
  of ind text.`;
console.log(indentExample);
//   This is an example
//   of indented text.
  • 多行文本轉(zhuǎn)義字符

在模板字面量中使用多行文本時可以使用轉(zhuǎn)義字符來處理特殊字符,例如:

constExample = `This is a\`
multi-line\`
text.`;
console.log(escapeExample);
// This is a
// multi-line
// text.

模板字面量的高級應(yīng)用

標(biāo)簽?zāi)0遄至?/h3>

標(biāo)簽?zāi)0遄置媪渴且环N使用自定義函數(shù)處理板字面量的方式,可以在${}語法前添加一個函數(shù)名作為前綴,例如:

function greeting(strings, ...values) {
  return `${strings[0]}${values[0].toUpperCase()}strings[1]}`;
}
const name = 'alice';
const message = greeting`Hello ${name}!`;
console.log(message); // Hello, ALICE!

自定義模板字面量函數(shù)

可以自定義模板字面量函數(shù)來處理特定的邏輯,例如:

function multiplier(strings, ...values) {
  const num = Number(values[]);
  return strings[0] + (num * 2) + strings[1];
}
const value = 5;
const result = multiplier`The result is: ${value}.`;
console.log(result); // The result is: 10.

常見應(yīng)用場景

拼接字符串

模板字面量可用于更簡潔拼接字符串,特別是含有變量和表達式的情況,例如:

const name = 'Garfield';
const age = 30;
const message = `My name is ${name} and I am ${age} years old.`;
console.log(message); // My name Garfield and I am 30 years old.

HTML模板

const data = { name: 'Alice', age: 30 };
const html = `
  <div>
    <h1>${data.name}</h1>
    <p>Age: ${data.age}</p>
  </div>
`;
console.log(html);
// <div>
//   <h1>Alice</h1>
//   <p>Age: 30</p>
// </div>

SQL查詢

在構(gòu)建SQL查詢時,模板字面量可用于拼接SQL語句和插入變量,例如:

const firstName = '菲貓';
const lastName = '加';
const query = `
  SELECT *
  FROM users
  WHERE first_name = '${firstName}'
  AND last_name = '${lastName}'
`;
console.log(query);
// SELECT *
// FROM users
// WHERE first_name = '菲貓'
// AND last_name = '加'

在這或許有很多沒有接觸過sql語句的程序員
那么我稍微解釋一下:

SELECT * FROM users WHERE first_name = ‘菲貓’ AND last_name = ‘加’ 這是個SQL查詢語句
SELECT 表示查詢*表示所有,FORM表示來自,users 是數(shù)據(jù)表的名字,WHERE 是條件語句 first_name = 'Alice' AND last_name = 'Smith' 是查詢條件
翻譯為:在用戶表中查詢first_name(名)是菲貓,并且 last_name(姓氏)是的用戶的所有信息

文件路徑拼接

模板字面量還可以方便地拼接文件路徑,特別是需要插入變量的情況,例如:

const dir = 'path/to';
 file = 'index.html';
const filePath = `${dir}/${file}`;
console.log(filePath); // path/to/index.html

與統(tǒng)字符串拼接的比較

  • 效率比較

與傳統(tǒng)字符串拼接相比,模板字面量通常在運行時更高效。由于模板字面量的編譯階段已經(jīng)將變量和表達式嵌入到字符串中,不需要運行時的拼接操作,因此更快速。

  • 可讀性比較

模板字面量可以更清晰地展示字符串中的變量和表達式,使得代碼更易讀和維護。傳統(tǒng)字符串拼接可能會導(dǎo)致代碼難以閱讀和理解,尤其是在包含多個變量和表達式的情況下。

  • 安全性比較

使用模板字面量可以更有效地避免注入攻擊。由于模板字面量對變量和表達式的處理是在編譯階段完成的,可以確保在運行時不會執(zhí)行不安全的代碼。

關(guān)于模板字符串就介紹到這里啦

優(yōu)雅而高效的JavaScript——模板字面量,優(yōu)雅而高效,javascript,開發(fā)語言,ecmascript,原力計劃文章來源地址http://www.zghlxwxcb.cn/news/detail-725704.html


到了這里,關(guān)于優(yōu)雅而高效的JavaScript——模板字面量的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • JavaScript責(zé)任鏈模式:如何優(yōu)雅地處理請求

    在實際開發(fā)中,我們經(jīng)常會遇到需要處理一系列請求的情況,而這些請求可能需要被不同的處理器處理。這時候,責(zé)任鏈模式就可以派上用場了。本文將介紹JavaScript中的責(zé)任鏈模式,并通過一個實際的例子來說明如何使用責(zé)任鏈模式來優(yōu)雅地處理請求。 責(zé)任鏈模式是一種行

    2024年02月11日
    瀏覽(17)
  • 建站系列(五)--- 前端開發(fā)語言之HTML、CSS、JavaScript

    建站系列(五)--- 前端開發(fā)語言之HTML、CSS、JavaScript

    建站系列(一)— 網(wǎng)站基本常識 建站系列(二)— 域名、IP地址、URL、端口詳解 建站系列(三)— 網(wǎng)絡(luò)協(xié)議 建站系列(四)— Web服務(wù)器之Apache、Nginx 建站系列(五)— 前端開發(fā)語言之HTML、CSS、JavaScript 建站系列(六)— 后端開發(fā)語言 建站系列(七)— 常用前后端框架

    2024年02月09日
    瀏覽(27)
  • 使用try...catch語句優(yōu)雅地處理JavaScript錯誤

    使用try...catch語句優(yōu)雅地處理JavaScript錯誤

    ????? 個人主頁: 《愛蹦跶的大A阿》 ?? 當(dāng)前正在更新專欄: 《VUE》?、《JavaScript保姆級教程》、《krpano》、《krpano中文文檔》 ?? 目錄 ? 前言 ? 正文 簡介 語法 示例 錯誤對象 拋出錯誤 finally 語句 總結(jié) ? 結(jié)語 ? ? ????????JavaScript作為一門腳本語言,代碼運行時

    2024年01月22日
    瀏覽(22)
  • JavaScript 生成器函數(shù)詳解:優(yōu)雅處理異步任務(wù)流

    目錄 1. 生成器函數(shù)的定義和使用 2. 暫停和恢復(fù)執(zhí)行 3. 與其他語言特性的配合使用 Iterator Protocol 迭代器協(xié)議? 解構(gòu)賦值? 生成器和 Promise 的組合使用? ????????使用 Promise: ????????使用 async/await: 委托給另外一個Generator函數(shù) ????????Generators 是 JavaScript 中的一種

    2024年02月12日
    瀏覽(20)
  • Web前端開發(fā)技術(shù)課程大作業(yè): 關(guān)于美食的HTML網(wǎng)頁設(shè)計——HTML+CSS+JavaScript在線美食訂餐網(wǎng)站html模板源碼30個頁面:

    Web前端開發(fā)技術(shù)課程大作業(yè): 關(guān)于美食的HTML網(wǎng)頁設(shè)計——HTML+CSS+JavaScript在線美食訂餐網(wǎng)站html模板源碼30個頁面:

    ?????靜態(tài)網(wǎng)站的編寫主要是用HTML DIV+CSS JS等來完成頁面的排版設(shè)計?????,常用的網(wǎng)頁設(shè)計軟件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等,用的最多的還是DW,當(dāng)然不同軟件寫出的前端Html5代碼都是一致的,本網(wǎng)頁適合修改成為各種類型的產(chǎn)品展示網(wǎng)頁,比

    2024年02月12日
    瀏覽(92)
  • 【華為OD機試 2023】優(yōu)雅子數(shù)組(C++ Java JavaScript Python)

    華為OD統(tǒng)一考試A卷+B卷 新題庫說明 2023年5月份,華為官方已經(jīng)將的 2022/0223Q(1/2/3/4)統(tǒng)一修改為OD統(tǒng)一考試(A卷)和OD統(tǒng)一考試(B卷)。 你收到的鏈接上面會標(biāo)注A卷還是B卷。請注意:根據(jù)反饋,目前大部分收到的都是B卷。但是仍有概率抽到A卷。 A卷對應(yīng)2023的新題庫(2022Q4 2

    2023年04月12日
    瀏覽(34)
  • (自己動手開發(fā)自己的語言練手級應(yīng)用)JSON(JavaScript Object Notation) 產(chǎn)生式(BNF)

    ?寫自己的開發(fā)語言時,很多人都會拿JSON當(dāng)?shù)谝粋€練習(xí)對象 開源net json FJSON 解析工具 https://dbrwe.blog.csdn.net/article/details/107611540?spm=1001.2014.3001.5502 以上是JSON的簡化產(chǎn)生式表示形式。其中, json 是最頂層的規(guī)則,可以是一個對象或一個數(shù)組。 object 表示一個對象,由一對大括號

    2024年02月10日
    瀏覽(28)
  • JavaScript抽象工廠模式:打造高效的對象創(chuàng)建工廠

    在JavaScript中,對象的創(chuàng)建是非常常見的操作。但是,如果我們需要創(chuàng)建多個具有相似屬性和方法的對象,手動一個一個創(chuàng)建會非常繁瑣。這時候,抽象工廠模式就可以派上用場了。 抽象工廠模式是一種創(chuàng)建型設(shè)計模式,它可以通過提供一個接口來創(chuàng)建一系列相關(guān)或相互依賴

    2024年02月12日
    瀏覽(24)
  • 大型醫(yī)院云HIS系統(tǒng):采用前后端分離架構(gòu),前端由Angular語言、JavaScript開發(fā);后端使用Java語言開發(fā) 融合B/S版電子病歷系統(tǒng)

    大型醫(yī)院云HIS系統(tǒng):采用前后端分離架構(gòu),前端由Angular語言、JavaScript開發(fā);后端使用Java語言開發(fā) 融合B/S版電子病歷系統(tǒng)

    一套醫(yī)院云his系統(tǒng)源碼 采用前后端分離架構(gòu),前端由Angular語言、JavaScript開發(fā);后端使用Java語言開發(fā)。融合B/S版電子病歷系統(tǒng),支持電子病歷四級,HIS與電子病歷系統(tǒng)均擁有自主知識產(chǎn)權(quán)。 文末卡片獲取聯(lián)系! 基于云計算技術(shù)的B/S架構(gòu)的醫(yī)院管理系統(tǒng)(簡稱云HIS),采用前后

    2024年02月03日
    瀏覽(31)
  • EZUIKit-JavaScript:構(gòu)建高效UI的利器

    項目地址:https://gitcode.com/Ezviz-OpenBiz/EZUIKit-JavaScript EZUIKit-JavaScript 是 Ezviz(??低暺煜轮悄芪锫?lián)網(wǎng)品牌)推出的一個輕量級、高性能的前端組件庫,旨在幫助開發(fā)者快速構(gòu)建現(xiàn)代化的企業(yè)級Web應(yīng)用界面。它基于React框架設(shè)計,提供了一套完整且易于定制的UI解決方案,讓開發(fā)

    2024年04月14日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包