ES6语法

1.ECMA6Script

1.1es6的变量和模板字符串

ES6 提供了 letconst 来声明变量,相较于 ES5 的 var,它们更安全、更灵活。

1. let
  • 作用域:块级作用域{} 内有效)。

  • 变量可变,但不能重复声明。

let name = "Alice";
if (true) {
    let name = "Bob"; // 只在这个代码块内有效
    console.log(name); // Bob
}
console.log(name); // Alice
2. const
  • 作用域:块级作用域

  • 必须初始化,且 不可重新赋值(但对象属性可变)。

示例

const age = 25;
// age = 30; // ❌ 报错:Assignment to constant variable.
​
const person = { name: "Charlie" };
person.name = "David"; // ✅ 允许修改对象的属性
console.log(person.name); // David
3. var(ES5 变量,尽量避免使用)
  • 作用域:函数作用域(不是块级作用域)。

  • 存在变量提升(Hoisting),可以在声明之前访问,值为 undefined

模板字符串

要定义多行的字符串类型,使用 飘号 `

1.2es6的解构表达式

let arr = [1,2,3,4,5]
        let [a,b,c,d,e] = arr;
        console.log(a,b,c,d,e)//1 2 3 4 5 
        let person ={
            name : 'zhangsan',
            age : 18
        }
        
        let {name,age} = person;

1.3es6箭头函数

相当于java的lambda

function add(a,b) {
    return a+b;
}
​
​
function add(a,b)=>a+b;

特点:

  • function 关键字被省略

  • 参数用 () 括起来(当只有一个参数时,可以省略 ()

  • {} 省略时,表达式的结果会自动 return

  • {} 存在时,需要手动写 return

箭头函数没有自己的this

1.4rest spread

Rest(...rest:用于收集剩余参数或对象的剩余属性,返回数组/对象。

Spread(...spread:用于展开数组、对象或函数参数,使其展开为独立值。

区别

  • Rest 用于合并参数/属性收集)。

  • Spread 用于拆分数组/对象展开)。

结合使用可以实现数据过滤、参数处理、数组操作等。

对象的深拷贝和浅拷贝


对象的拷贝是快速获得和已有对象相同的对象的方式

浅拷贝

<script>
    let arr  =['java','c','python']
    let person ={
        name:'张三',
        language:arr
    }
    // 浅拷贝,person2和person指向相同的内存
    let person2 = person;
    person2.name="小黑"
    console.log(person.name)
</script>


深拷贝
 

<script>
    let arr  =['java','c','python']
    let person ={
        name:'张三',
        language:arr
    }
    // 深拷贝,通过JSON和字符串的转换形成一个新的对象
    let person2 = JSON.parse(JSON.stringify(person))
    person2.name="小黑"
    console.log(person.name)
    console.log(person2.name)
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值