个人学习-前端相关(1):ECMAScript 6-变量、模板字符串、解构表达式

本文主要是介绍个人学习-前端相关(1):ECMAScript 6-变量、模板字符串、解构表达式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

由于最近公司有接到一些小程序或者app相关的内容,可能考虑要做一些样例供参考。虽然在20年短暂学习和使用过vue2,但由于时间久远且技术发展太快,需要对一些旧知识进行巩固,新的内容进行学习。

ECMAScript 6简介

ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

let和const

ES6中增加了let和const来声明变量。let在es6中推荐优先使用。

let 和var的差别

1、let 不能重复声明

// 报错
function func() {let a = 10;var a = 1;
}// 报错
function func() {let a = 10;let a = 1;
}


2、let有块级作用域,非函数的花括号遇见let会有块级作用域,也就是只能在花括号里面访问。
3、let不会预解析进行变量提升:var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined。但是let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。

// var 的情况
console.log(foo); // 输出undefined
var foo = 2;// let 的情况
console.log(bar); // 报错ReferenceError
let bar = 2;


4、let定义的全局变量不会作为window的属性:let和const不会污染全局变量

        var RegExp = 100;console.log(RegExp);//100console.log(window.RegExp);//100let RegExp = 100;//const RegExp = 100;console.log(RegExp);//100console.log(window.RegExp);//function RegExp()

模板字符串

比如有一个div我想要js动态的往里面加这些东西,平常的写法是:

    <div></div><script>const div = document.querySelector('div');let id='good';let name='写代码让我快乐';div.innerHTML = "<ul><li><p id="+id+">"+name+"</p></li></ul>";</script>

但是有了模板字符串之后:
使用tab上面那个小点点 "`"将内容包起来,里面的变量使用${变量名}来替换,非常方便。

        const div = document.querySelector('div');let id='good';let name='写代码让我快乐';div.innerHTML= `<ul><li><p id=${id}>${name}</p></li></ul>`// div.innerHTML = "<ul><li><p id="+id+">"+name+"</p></li></ul>";

ES6的解构表达式

一种便捷语法,快速将数组或对象的值拆分并赋值给变量。其中{}表示对象,[]表示数组。

2.2.1数组结构赋值

let [a,b,c] = [1,2,3]
console.log(a)  //1
console.log(b)  //2
console.log(c)  //3//使用默认值作为备选值,数组中对应位置缺失时使用默认值。
let[a,b,c,d=4]= [1,2,3]
console.log(d) //4//使用解构表达式取出数组中的元素
let arr = [11,22,33,4,55]
let [a,b,c,d,e=10] = arr
console.log(a,b,c,d,e) // 11,22,33,4,55

2.2.2对象解构赋值

//新增变量名必须和属性名相同,本质是初始化变量的值为对象中同名属性的值
let {a,b} = {a:1,b:2}  //相当于 let a = 对象.a  let b = 对象.b
console.log(a,b) //1,2//使用解构表达式获取对象的属性值
let person={name:"zhangsan",age:10
}
let{name,age} = person  //相当于 let name = person.name ...
console.log(name,age) //zhangsan

2.2.3应用在方法的参数列表

let arr = [11,22,33,44,55]
function showArr(arr){console.log(arr[0],arr[1],arr[2]) // 11,22,33
}function showArr([a,b,c]){console.log(a,b,c)
}
showArr(arr)//11,22,33

这篇关于个人学习-前端相关(1):ECMAScript 6-变量、模板字符串、解构表达式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939158

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali

python中字符串拼接的几种方法及优缺点对比详解

《python中字符串拼接的几种方法及优缺点对比详解》在Python中,字符串拼接是常见的操作,Python提供了多种方法来拼接字符串,每种方法有其优缺点和适用场景,以下是几种常见的字符串拼接方法,需... 目录1. 使用 + 运算符示例:优缺点:2. 使用&nbsjsp;join() 方法示例:优缺点:3

SpringBoot @Scheduled Cron表达式使用方式

《SpringBoot@ScheduledCron表达式使用方式》:本文主要介绍SpringBoot@ScheduledCron表达式使用方式,具有很好的参考价值,希望对大家有所帮助,如有... 目录Cron 表达式详解1. 表达式格式‌2. 特殊字符解析3. 常用示例‌4. 重点规则5. 动态与复杂场景‌