ES6特性01:let/const介绍、结构赋值、模板字符串以及对象的简化写法

let

let用来声明变量,变量不能重复声明防止变量污染

块级作用域

在块级作用域(代码块中的代码)的变量是无法被访问的

 {
        let girl='周扬青';
    }
    console.log(girl);

不存在变量提升

在声明一个变量后才能使用

//使用不能放到声明之前
console.log(song);
let song='恋爱达人';

不影响作用域链

声明在最外侧块中的变量对里面的块都有效果

 {
        let school='尚硅谷';
        function fn() {
            console.log(school);
        }
        fn();
    }

点击切换颜色

这儿循环中如果用var就会报错,因为var没有块级作用域,i一直存在于全局,执行 items[i].style.background=‘red’;时i变成3

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>let</title>
    <style>
        .item{
            border: solid 1px;
            width: 220px;
            height: 220px;
            float: left;
        }
    </style>
</head>
<body>
<div>
    <h2>点击切换颜色</h2>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
</div>
<script>
    let items = document.getElementsByClassName('item');
    for (let i = 0; i < items.length; i++) {
        items[i].onclick=function () {
            debugger
            items[i].style.background='red';
        }
    }
</script>
</body>
</html>

const

const用来声明常量

  • 一定要赋初始值
  • 一般常量使用大写(潜规则)
  • 常量的值不能修改
  • 块级作用域(只能在当前块级和当前块级的子快使用)
  • 对于数组和对象的元素修改,不算做对常量的修改,不会报错,数组的地址没有改变
    const TEAM=['UZI','MXLG','Ming','LetMe']; TEAM.push('Meiko');

变量的解构赋值

ES6允许按照一定的模式从数组和对象中提取值,对变量进行赋值,这被称为结构赋值

数组的解构

<script>
    const F4=['小沈阳','刘能','赵四','宋小宝'];
    let [xiao,liu,zhao,song]=F4;
    console.log(xiao);
    console.log(liu);
    console.log(zhao);
    console.log(song);
</script>

对象的解构

<script>
    const zhao={
        name:'赵本山',
        age:'不详',
        xiaopin:function () {
            console.log('我可以演小品');
        }
    };
    let {name,age,xiaopin}=zhao;
    console.log(name);
    console.log(age);
    console.log(xiaopin());
    xiaopin();
</script>

模板字符串

使用反引号的是模板字符串
ES6引入新的声明字符串的方式``(反引号) ,‘’ ,“”

内容中可以直接出现换行符

  • 使用单引号,必须加 +号
let str='<ul>' +
        '<li>沈腾</li>' +
        '<li>艾伦</li>' +
        '</ul>';
  • 使用反引号可以直接换行
    let str=`
    <ul>
    <li>a</li>
    <li>b</li>
    <li>c</li>
    <li>d</li>
    <li>e</li>
    <li>f</li>
</ul>
    `;

可以直接进行变量的拼接

  • 使用单引号
<script>
    let str='魏翔';
    let out=str+'是我心目中最搞笑的演员';
    console.log(out);
</script>
  • 使用反引号

使用${} 来引入需要的内容

<script>
    let str='魏翔';
    let out=`${str}是我心目中最搞笑的演员`;
    console.log(out);
</script>

对象的简化写法

允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。

<script>
    //先定义对象的属性和行为
    let name=`zzq`;
    let change=function () {
        console.log(`我喜欢学习`);
    }
    let zzq={
        name,change
    }
    console.log(zzq.name);
    console.log(zzq.change());
</script>

方法的简写

improve() {
console.log(我们可以提高你的技能);
}
相当于
improve:function () {
console.log(我们可以提高你的技能);
}

<script>
    let name=`尚硅谷`;
    let change=function () {
        console.log(`我们可以改变你`);
    }

    const school={
        name,
        change,
        improve() {
            console.log(`我们可以提高你的技能`);
        }
    }
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值