JavaScrip-模版字符串的詳解

1.模版字符串的詳解

1.1 模版字符串的使用方法

在ES6之前,如果我們想要將字符串和一些動態的變量(標識符)拼接到一起,是非常丑陋的(ugly)

ES6允許我們使用模版字符串來嵌入變量或者表達式來進行拼接

  • 首先,我們會使用``符號來編寫字符串,稱之為模版字符串
  • 其次,在模版字符串中,我們可以通過${expression}來動態嵌入內容
//  1.Es6之前const name = "why"const age = 18//  const info = "my name is" + name +", age is " + age
//2.Es6之后
const info = ` ma name is ${name} ,age is  ${age}`

1.2 標簽字符串的詳細使用

  • 模版字符串還有另外一種用法:標簽模版字符串(Targged Template Literals)
  • 我們來看一個普通的JavaScript的函數
function foo(...args){console.log("參數",args)}
foo("why",18,1.88)

image-20250308131746811

  • 如果我們使用標簽模版字符串,并且在調用的時候插入其他的變量
    1. 模版字符串被拆分了
    2. 第一個元素是數組,是被模塊字符串拆分的字符串組合
    3. 后面的源塑膠是一個個模版字符串傳入的內容
//2.標簽模版字符串的用法
function foo(...args){console.log("參數",args)}
// foo("why",18,1.88)
//反引號也可以調用函數的  并且會將反引號里面的內容傳入函數里面去foo`my name is ${name},age is ${age}`

image-20250308132030225

說了這么多,聽著是否有點抽象,但是后續在我們的React框架中會用到 (css in js)

如何將css寫到js里面呢,我們會用到React的styled-components庫

2.ES6函數的增強用法

  • 在ES6之前,我們編寫的函數參數是沒有默認值的,所以我們在編寫函數時,如果有下面的需求:
    • 傳入了參數,那么使用默認參數
    • 沒有傳入參數,那么使用一個默認值
  • 而在ES6中,我們允許給函數一個默認值:

2.1 函數默認值的補充

  • 默認值也可以和函數解構一起來使用

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/73557.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/73557.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/73557.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

STM32C011 進入停止模式和待機模式

對于STM32C011J4M3微控制器,你可以使用HAL庫來實現進入停止模式(Stop Mode)和待機模式(Standby Mode)。下面是進入停止模式和待機模式的示例代碼: 進入停止模式代碼示例: #include "stm3…

海康設備http監聽接收報警事件數據

http監聽接收報警事件數據 海康獲取設備報警事件數據兩種方式: 1、sdk 布防監聽報警事件數據(前面文章有示例) 2、http監聽接收報警事件數據 http監聽接收報警事件數據,服務端可以使用netty通過端口來監聽獲取事件數據。 WEB 端…

FastAPI 全面指南:功能解析與應用場景實踐

FastAPI 全面指南:功能解析與應用場景實踐 FastAPI 是一個現代、快速(高性能)的 Python Web 框架,用于構建 API。它基于標準 Python 類型提示,使用 Starlette 和 Pydantic 構建,提供了極高的性能并簡化了開…

【STM32】編寫程序控制開發板的RGB LED燈

目錄 1、原理圖2、文件結構3、使用寄存器模式點亮3.1、什么是寄存器3.2、寄存器開發的本質3.3、寄存器開發步驟3.4、主要源碼3.4.1、main.c3.4.2、drv_gpio.h3.4.3、drv_gpio.c3.4.4、使用BSRR和BRR影子寄存器優化drv_gpio.c3.4.5、效果演示 4、使用標準庫模式點亮4.1、使用標準…

MyBatis-Plus 的加載及初始化

在 Spring Boot 啟動過程中,MyBatis-Plus 的加載和初始化涉及多個階段的工作。這些工作包括 MyBatis-Plus 自身的配置解析、Mapper 接口的掃描與注冊、SQL 語句的動態注入以及底層 MyBatis 的初始化等。以下是對整個過程的詳細分析: 1. Spring Boot 啟動…

SpringBoot中安全的設置阿里云日志SLS的accessKey

眾所周知,阿里云的服務都是基于accesskeyId和accesskeySecret來進行身份鑒權的,但唯獨日志因為需要寫入到.xml文件里對于accesskeyId和accesskeySecret需要進行一定程度的改進,尤其是使用了jasypt進行加密的參數傳遞進去logback.xml更是會遇到需要對參數進行解密的問題,而官網只…

關于解決Ubuntu終端及系統字體大小的問題

在Ubuntu中調整終端和系統字體大小可以通過以下方法(可能不僅僅只是這幾種)實現: 1. 調整系統字體大小 打開終端并輸入以下命令,安裝GNOME Tweaks,等待安裝完成: sudo apt install gnome-tweaks 接著進行…

Rust vs. Go: 性能測試(2025)

本內容是對知名性能評測博主 Anton Putra Rust vs. Go (Golang): Performance 2025 內容的翻譯與整理, 有適當刪減, 相關數據和結論以原作結論為準。 再次對比 Rust 和 Go,但這次我們使用的是最具性能優勢的 HTTP 服務器庫---Hyper,它基于 Tokio 異步運…

【NLP 48、大語言模型的神秘力量 —— ICL:in context learning】

目錄 一、ICL的優勢 1.傳統做法 2.ICL做法 二、ICL的發展 三、ICL成因的兩種看法 1.meta learning 2.Bayesian Inference 四、ICL要點 ① 語言模型的規模 ② 提示詞prompt中提供的examples數量和順序 ③ 提示詞prompt的形式(format) 五、fine-tune VS I…

兩數之和解題記錄

開始打算用一個數組保存差值,arr[target-nums[i]] i, 只要arr[nums[i]]有內容就能滿足target,返回arr[nums[i]]和i。但是會出現復數的情況,所以換成map。 換成map就只用一邊遍歷,一遍檢查和存入對應key就行了,value就…

P1722 矩陣Ⅱ - 洛谷

題源:P1722 矩陣 II - 洛谷 看了題目之后,需要注意的是: ①在1 ~ i 個格子中紅色數量 > 黑色數量 ②最后,在2 * n 個格子中,紅色數量 黑色數量 根據這兩個約束條件,可以知道,第一個格…

數據庫——MySQL基礎操作

一、表結構與初始數據 假設存在以下兩張表: 1. student 表 字段名數據類型描述idINT學生唯一標識符nameVARCHAR(100)學生姓名ageINT學生年齡sexVARCHAR(10)學生性別 初始數據: idnameagesex1張三20男2李四22女3王五21男 2. course 表 字段名數據類…

行業白皮書2025 | 益企研究院:AI時代的存儲基石

在當今科技飛速發展的時代,AI技術已成為推動各行業變革的關鍵力量。日前,益企研究院重磅發布《AI時代的存儲基石》白皮書。 下載方式:關注“渡江客涂鴉板”,回復st250326獲取免費下載地址 數據需求與技術挑戰: AI技術…

音視頻新人如何快速上手nginx-rtmp-module

一、整體設計架構 nginx-rtmp-module 是 Nginx 的一個擴展模塊,專門為 Nginx 添加了對 RTMP 協議的支持。其核心功能包括: RTMP推流(publish) RTMP拉流(play) 流轉發(relay) 流錄…

vue 封裝 Axios菜鳥教程

1、Axios依賴下載 $ npm install axios 2、以下鏈接為Axios 的api Axios 實例 | Axios中文文檔 | Axios中文網 3、 項目新建request.js,文件名稱按照駝峰命名法就可以 4、封裝request.js代碼如下 import axios from "axios"//創建axios實例&#xff0…

[項目]基于FreeRTOS的STM32四軸飛行器: 十一.MPU6050配置與讀取

基于FreeRTOS的STM32四軸飛行器: 十一.MPU6050 一.芯片介紹二.配置I2C三.編寫驅動四.讀取任務的測試五.MPU6050六軸數據的校準 一.芯片介紹 芯片應該放置在PCB中間,X Y軸原點,敏感度131表示范圍越小越靈敏。理想狀態放置在地面上X,Y&#xf…

iOS常見網絡框架

URLSession、Alamofire 和 Moya 1. URLSession 1.1 核心概念 URLSession 是 Apple 官方提供的網絡請求 API,封裝在 Foundation 框架中。它支持 HTTP、HTTPS、FTP 等協議,可用于: ? ? 普通網絡請求(GET/POST) ? …

AOA(到達角度)與TOA(到達時間)兩個技術的混合定位,MATLAB例程,自適應基站數量,三維空間下的運動軌跡,濾波使用UKF(無跡卡爾曼濾波)

本文介紹一個MATLAB代碼,實現了三維動態目標非線性定位與濾波系統,通過融合 到達角(AOA) 和 到達時間(TOA) 的混合定位方法,結合 無跡卡爾曼濾波(UKF) 處理非線性觀測模型,優化軌跡精度。代碼支持自適應基站數量配置,適用于復雜非線性場景的定位研究。 文章目錄 運行…

Ubuntu 重置密碼方法

目錄 修改過 root 密碼,重置密碼的方法沒改過 root 密碼?,重置密碼的方法 修改過 root 密碼,重置密碼的方法 Ubuntu 默認禁用root用戶,意思就是安裝好Ubuntu系統后,root用戶默認是沒有密碼的,普通用戶通過…

Leetcode 路徑總和 III

java 解法一:雙遞歸 class Solution {public int pathSum(TreeNode root, long targetSum) { //外層遞歸,把每個節點都當作路徑起點if(root null) return 0;int ret rootSum(root, targetSum);ret pathSum(root.left, targetSum);ret pathSum(root.right, targ…