ES6的基础用法

news/2024/7/10 23:39:16 标签: es6, 前端, javascript

本文会着重讲解es6,帮助大家熟悉es6和掌握es6的写法

1,let

        没有变量提升,使用变量在变量定义之前,这点和var有很大区别

        不允许重复声明

        只在块级作用域里有效

        暂时性死区

javascript">        console.log(a)  //报错,因为在未定义前调用
        let a = 1
        console.log(a) //1

  2,const

        声明常量 ,表示这个变量在声明后就无法修改

javascript">const a = 1
a = 2 //报错,常量声明后无法修改

3,解构赋值

      将右边的数组依次解构出来赋值给前面的数组里的变量

javascript">let [a,b,c]=[1,2,3] 
const.log(a) //1
const.log(b) //2
const.log(c) //3

 4,扩展字符串

        可以在字符串里直接写入变量,${},不用在像以前一样通过加号来拼接了

javascript">let a = "张三"
console.log(`我是${a}`) // 我是张三

5,解构

       

        数组解构:通过  ...数组  将数组的每一项都解构出来,变成原本的数据类型1

javascript">let a = [1,2,3,4]
console.log(...a) //1234

        对象解构:通过 {...对象} ,将对象里的每一项都解构出来,但是要注意下,对象解构出来还是对象,所以我们必须得在最外出用{}包裹

        

javascript">const obj = {name:"张三",age:18}

console.log({...obj}) //{name:"张三",age:18}

修改name的值

const obj1 = {...obj,name:"李四"}

console.log(obj1)//{name:"张三",age:18}

原理就是,先解构,在对象里在加入一个属性名称相同的值,后覆盖前,达成修改的效果

6.对象扩展

         对象的属性名如果和属性值变量名称是一致的话可以简写

javascript">var a=1
var  obj = {a:a}
可以简写为 

var obj = {a}  

console.log(obj) //{a:1}

        如果对象的属性值是函数,可以省略function

javascript">var obj = {fh:function(){}}

可以简写为
var obj  =  {fn(){}}

        在函数上做解构赋值

javascript">var obj  = {name:"张三",age:18}
function fn (naem,age){
    
    console.log(name,age)
}
调用函数
fn(obj) //"张三",18    。。直接传入一个对象,函数帮我解构了,相当于传入了 fn(obj.name,obj.age),
要注意的是,形参必须和我们对象的属性一样才可以

7.set

        类似于数组,但不是数组,set有个属性,就是里面的数据不能重复所以可以用来给数组去重

javascript">var a = [ 1,2,3,4,4]
var b = new Set(a)
在进行解构重新赋值给一个数组,这样就达到了去重的效果

var c  = [...b]

console.log(c)// [1,2,3,4]

      可以通过add方法添加属性

javascript">var a = new Set([1,2,3])
a.add(3).add(5)

console.log(a) //[1,2,3,4,5] //添加的时候,如果添加了重复的值,会自动去重

8.map

        map方法,将属性里的每一项单独拿出来,执行回调函数

        

javascript">var arr = [1,2,3,4]
arr.map((item)=>{  //item就相当于数组里的每一项的值,所以会依次打印 1,2,3,4
console.log(item)
})

9.promise 异步处理

        处理异步代码

javascript">let p=new promise(function(resolve,reject){ //传入参数resolve和reject,这2个是固定写法
		 
		resolve(data) //调用resolve函数,传入我们要异步处理的数据,异步代码执行成功调用
        reject(data) //调用reject函数,传入data,异步代码执行失败调用
		})

p.then(function(data){  //调用.then方法,方法里接收一个函数,函数接收的参数就是我们在上面resolve传递的值
		console.log(data)
	},(data)=>{
    console.log(data)  //当执行错误时就执行这个函数
}) //.then方法里接收2个函数,第一个函数是执行成功后执行,第二个函数是执行失败后执行,这样就能对异步进行处理了,当异步执行完后,才会执行.then方法里的代码。

10.async和await 

        也是用来处理异步

javascript">async  function sc(){  //在函数前加上async,将这个函数变为异步函数
		await 异步代码  //这里写异步代码,注意异步代码前面要加await,才能生效
        console.log(123) //当前面的异步代码执行完成后,才会执行console.log(),这样就实现了对异步的处理
		}


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

相关文章

软考高级之132个工具和技术

分类 工具与技术 描述 数据收集 头脑风暴 在短时间内获得大量创意,适用于团队环境,需要引导者引导(过程中可以天马行空,不要打断) 包括:头脑风暴、头脑写作 头脑写作:在开始小组创意讨论之…

【python海洋专题三十八】海洋指数画法--折线图样式二

【python海洋专题三十八】海洋指数画法–折线图样式二 数据:AMO_index 图像展示: 图片 往期推荐 图片 【python海洋专题一】查看数据nc文件的属性并输出属性到txt文件 【python海洋专题二】读取水深nc文件并水深地形图 【python海洋专题三】图像…

【机器学习】六、概率图模型

今天我们对概率图模型(Probabilistic Graphical Model,PGM)做一个总结。 模型表示 概率图模型,是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。 它提出的背景是为了更好研究复杂联合概率分布的数据特征&#x…

Tomat的默认servlet(DefaultServlet)

https://tomcat.apache.org/tomcat-10.1-doc/default-servlet.html DefaultServlet 用来处理对静态资源的请求、以及罗列目录下的内容(前提是配置了允许罗列)。 DefaultServlet 是全局声明的,在$CATALINA_BASE/conf/web.xml中声明&#xff0…

深入理解 Django 模板系统

概要 在任何 Web 开发过程中,渲染和展示数据是不可或缺的一部分。Django 作为一个高效的 Python Web 框架,提供了一个强大且灵活的模板系统。本文将详细介绍 Django 模板系统的核心概念、语法和高级功能。 一、Django 模板系统简介 Django 的模板系统允…

深入剖析Golang中单例模式

前言 虽说Golang并不是C、Java这种传统的面向对象语言,而是偏向于面向接口编程的语言。但是Golang依旧有接口、结构体、组合等概念去模拟所谓面向对象中非常重要的设计模式。基于面向对象的模型去编写代码往往能编写成高内聚、低耦合、扩展性极强、难出bug的高质量…

用这个方法简直开挂!精密空调轻松拿捏

在当今现代社会,空调系统已成为生活和商业环境中不可或缺的一部分。随着气温的波动和能源效率的关注不断增加,精密空调监控技术变得至关重要。 精密空调监控系统可以帮助用户实现更高的能源效率、更稳定的温度控制、降低维护成本,并提供更高水…

conda不同环境pip list包都一样问题;conda国内镜像加速

1、conda不同环境pip list包都一样问题 注意是因为conda创建不同环境里用pip安装容易导致,因为pip install安装 python包管理大多都默认到一个地方,正常用conda install就会有隔离 参考:https://blog.csdn.net/tywwwww/article/details/127…