ES6有哪些新特性

目录

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

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

2.知识剖析

解构

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

                let a = 1;
                let b = 2;
                let c = 3;
                ES6允许写成这样:
                let [a, b, c] = [1, 2, 3];
            
对象解构
                let p ={a:1,b:2}
                let {a,b}=p
                //a = 1; b = 2
            
模板字符串
            let week = 1
            let day  = 28
            console.log(`今天是${day}号,周${week}`)  //今天是28号,周1
            
ES5的字符串拼接
            let week = 1
            let day  = 28
            console.log("今天是"+day+"号,周"+"week")  //今天是28号,周1
            
let命令

ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

            {
  let a = 10;
  var b = 1;
}

a // ReferenceError: a is not defined.
b // 1

很适合for循环里使用


不存在变量提升

let的暂时性死区
                if (true) {
  // TDZ开始
  tmp = 'abc'; // ReferenceError
  console.log(tmp); // ReferenceError

let tmp; // TDZ结束
console.log(tmp); // undefined

tmp = 123;
console.log(tmp); // 123
}

在声明变量tmp之前都属于tmp的死区,使用会报错

3.常见问题

解构赋值还有什么用法?

4.解决方案

                let {log,warn} = console;
                log('hello');
                console.log('hello')
                console为一个对象,相当于把console的log对象方法赋值给了变量log,log就是console.log本身

5.编码实战

6.扩展思考

有什么新增的属性?

新增了方法的name属性,返回方法名

            let p ={
    go:function () {
        console.log(123)

    }
}
    p.go.name //go

7.参考文献

http://es6.ruanyifeng.com/#docs/object

8 更多讨论

1,什么是块级作用域

let实际上为 JavaScript 新增了块级作用域。

function f1() {
let n = 5;
if (true) {
let n = 10;
}
console.log(n); // 5
}

上面的函数有两个代码块,都声明了变量n,运行后输出 5。这表示外层代码块不受内层代码块的影响。如果两次都使用var定义变量n,最后输出的值才是 10。

2.const用法?

const声明一个只读的常量。一旦声明,常量的值就不能改变。const的作用域与let命令相同:只在声明所在的块级作用域内有效。

3,对象简写使用?

function f(x, y) {
return {x, y};
}

// 等同于

function f(x, y) {
return {x: x, y: y};
}

f(1, 2) // Object {x: 1, y: 2}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值