es6基础入门

简介: es6变量声明const和letes6之前都是用var声明变量,es6用const和let来声明,let表示变量,const表示常量。let和const都是块级作用域。

1、es6变量声明const和let


es6之前都是用var声明变量,es6用const和let来声明,let表示变量,const表示常量。let和const都是块级作用域。


块级作用域是理解是:


  1. 在一个函数内部
  2. 在一个代码块内部

只要再{}花括号的代码块都可以任务let和const的作用域


let代码如下:

let作用域是再它当前的代码块,但是不会提升到当前函数的最顶部

function aa(){
    if(flag){
        let test="hello man"
    }else{
        //test在此处访问不到
        console.log(test);
    }
}


const


  1. const声明的变量必须提供一个值,认为是常量,意思是他的值被设置以后就不能修改了,否则会报错
const name='zhangsan'
name='joe' //再次赋值会报错

如果const是一个对象,对象包含的值是可以被修改的,抽象一点儿说,就是对象指向的地址不能改变,变量成员是可以更改的

const student={name:'zhangsan'}
student.name='wangwu'//ok 变量的值可以更改
student={name:'sfda'}//错误,指针的地址不可用更改

TDZ(暂时性死区)


js引擎扫描代码的时候,如果发现变量声明,用var声明的变量会将声明提升到函数或者全局作用域的顶部,但是let和const不会,会将声明关进一个小黑屋,也是TDZ,只有执行到变量声明这句代码的时候,变量才会从小黑屋释放出来,才可以安全的使用这个变量。

{
    console.log(value)//报错
    let value='ddd'
}

2、字符串


es6模板字符串,解决了es5在字符串功能上的痛点。

  1. 基本的字符串格式化,将表达式嵌入字符串中进行拼接,用${}来界定
//es5
var name='wangsan'
console.log('hello'+name);
//es6
const name='xingxing'
const age='23岁'
console.log(`hello,${name}今年的年龄是${age}`)

在es5我们通过反斜杠(\)来做多行字符串或者字符串一行行拼接,es6用引号搞定

// ES5
var msg = "Hi \
 man!
 ";
// ES6
const template = `<div>
<span>hello world</span>
</div>`;
目录
相关文章
|
存储 JSON 自然语言处理
|
7月前
|
JavaScript 前端开发
|
7月前
|
数据可视化 开发工具 git
ES入门以及安装
ES入门以及安装
77 0
|
JSON 监控 关系型数据库
|
前端开发 JavaScript API
|
JavaScript 前端开发 编译器
ES6 从入门到精通 # 01:ES6 介绍
ES6 从入门到精通 # 01:ES6 介绍
128 0
ES6 从入门到精通 # 01:ES6 介绍
|
自然语言处理 前端开发 计算机视觉
sula入门教程
本文适合有react、antd基础的小伙伴阅读
sula入门教程
|
Web App开发 运维 安全
ES 8.x 系列教程:ES 8.0 服务安装(可能是最详细的ES 8教程)
ES 8.x 系列教程:ES 8.0 服务安装(可能是最详细的ES 8教程)
ES 8.x 系列教程:ES 8.0 服务安装(可能是最详细的ES 8教程)
|
存储 JSON 搜索推荐
ES 简介|学习笔记
快速学习 ES 简介。
126 0
ES 简介|学习笔记
|
Java 关系型数据库 数据库
ES入门
ES入门
188 0