开始学习es6(二) let 与 const 及 块级作用域

1、var

JavaScript中,我们通常说的作用域是函数作用域,使用var声明的变量,无论是在代码的哪个地方声明的,都会提升到当前作用域的最顶部,这种行为叫做变量提升(Hoisting)

const和let的异同点

相同点:const和let都是在当前块内有效,执行到块外会被销毁,也不存在变量提升(TDZ),不能重复声明。

不同点:const不能再赋值,let声明的变量可以重复赋值。

2、字符串

引用模板字面量进行字符串拼接 可以抛弃以前字符串 + 的操作了。

const template = data => `
    <p>${data.name}</p>
    <p>${data.profile.age}</p>
    <ul>
        ${data.skills.map(
            skill=>`
                <li>${skill}</li>
        `).join('')}
    </ul>`
const data = {
    name:'yjw',
    profile:{
        age:100
    },
    skills:['html5','javascript','css']
}

document.body.innerHTML = template(data);

3、函数

原文地址:https://www.cnblogs.com/junwu/p/7245787.html