【ES6】模板字符串

news/2024/7/19 13:21:52 标签: js, 模板字符串

文章目录

模板字符串

  • ES5 中我们表示字符串的时候使用''或者""
  • 在 ES6 中,我们还有一个东西可以表示字符串,就是``(反引号)
js">let str = `hello world`;
console.log(typeof str)	//string

1. 使用方法

js">// 这个单引号或者双引号不能换行,换行就会报错了
let str = 'hello world';
// 下面这个报错了
let str2 = 'hello 
world';
//反引号就不会报错
let str3 = `hello 
world`;
js">let str1 = `hello 
world`;
let str2 = `hello world`;
let str3 = `  hello world`;
console.log(str1);
console.log(str2);
console.log(str3);

在这里插入图片描述

  • 模板字符串中需要使用反引号,则前面要用反斜杠\转义。
js">let str = `hello\`world`;
console.log(str);	// hello`world
js">let arr = (addrs) => `
  <table>
  ${addrs.map((addr) => `
    <tr><td>${addr.first}</td></tr>
    <tr><td>${addr.last}</td></tr>
  `).join('')}
  </table>
`;

2. 嵌入变量

js">// ES5 需要使用字符串拼接变量的时候
let num = 100;
let str = 'hello' + num + 'world' + num;
console.log(str);	//hello100world100

// 直接写在字符串里面不好使
let str2 = 'hellonumworldnum';
console.log(str2); // hellonumworldnum
  • ${}就是用来书写变量的位置
js">//模板字符串拼接变量
let num = 100;
let str = `hello${num}world${num}`;
  • ${}里面可以插入js 表达式
js">let x = 1;
let y = 2;

let arr1 = `${x} + ${y} = ${x + y}`
let arr2 = `${x} + ${y * 2} = ${x + y * 2}`

let obj = {x: 1, y: 2};
let arr3 = `${obj.x + obj.y}`

console.log(arr1);	// 1 + 2 = 3
console.log(arr2);	// 1 + 4 = 5
console.log(arr3);	// 3
  • ${}里面可以调用函数
js">function fn() {
  return "Hello World";
}
let arr = `js ${fn()} nb`
console.log(arr);	// js Hello World nb

http://www.niftyadmin.cn/n/509755.html

相关文章

js遍历所有子树

<script>let tree [{id: 1,title: 节点1,children: [{id: 1-1,title: 节点1-1},{id: 1-2,title: 节点1-2}]},{id: 2,title: 节点2,children: [{id: 2-1,title: 节点2-1}]}]function treeForeach(tree, func) {tree.forEach((data) > {func(data)data.children &&…

关于strlen与sizeof的区别

strlen是用来计算字符串的字符个数&#xff0c;但不包括字符串中最后的结束符\0 如图代码第30行所示&#xff0c;显示结果为6&#xff0c;不包含arr[ ]里隐藏的\0 sizeof是用来计算不同类型或变量所占内存的大小&#xff0c;如图第33行计算第28行代码字符数组arr[ ]的大小&am…

向大家介绍一位牛逼的IT老师 => 廖神

廖雪峰的官方网站&#xff1a;https://www.liaoxuefeng.com/ 开课吧合伙人,全栈工程师,畅销书《Spring2.0核心技术与最佳实践》作者&#xff0c;曾任西门子、摩托罗拉、火币网等知名公司高级技术专家 官方博客著有Java、JavaScript、Git、数字货币、Python等教程,是程序员常用…

js瀑布流触底动态加载数据

// onScrollEvent 滚动条事件<div class"box" ref"box" mousewheel"onScrollEvent">//每一个方块内的内容start<div class"boxItemStyle" v-for"(userTag, i) in dataSource" :key"i" ref"boxItemS…

【JS】面向对象

文章目录面向对象创建对象工厂函数创建自定义构造函数创建个人总结面向对象 首先&#xff0c;我们要明确&#xff0c;面向对象不是语法&#xff0c;是一个思想&#xff0c;是一种 编程模式面向&#xff1a; 面&#xff08;脸&#xff09;&#xff0c;向&#xff08;朝着&#…

JavaScript_手风琴效果(一)

文章目录效果图&#xff1a;需求分析&#xff1a;源代码&#xff1a;所用图片&#xff1a;效果图&#xff1a; 未展开时的效果 鼠标悬浮在其上的效果 需求分析&#xff1a; 在每个 li 里面设置一个图片鼠标移出 ul ,每个 li 的宽度变成240鼠标移入某个 li ,当前 li 的宽度变成…

vue 简易弹框

很简易的弹出框&#xff0c;不想写样式了&#xff0c;凑活看吧 modal.vue <!--* Description: * Version: 1.0* author: shihaixia* Date: 2021-09-14 15:38:27 --> <template><transition name"mask-bg-fade"><div class"modal" v…

手写vue-router

main.js import Vue from "vue"; import App from "./App.vue"; // 手动封装的krouter import router from ./krouter new Vue({router,render: h > h(App) }).$mount("#app");krouter.js import Vue from vue //组件引入 import Home from…