简单示例来浅谈一下常用的 es6写法,让写代码丝滑点

//1.let与var的区别:
    //let 局部作用域,不会变量提升,只能声明一次
    //var 越作用域,变量提升,可声明多次

    //2.扩展运算符,可以扩展对象,数组,函数为参数则转数组,深拷贝
    let demo1=['1','2','3']

    console.log(demo1) //['1','2','3']
    console.log(...demo1) //1 2 3

    let demo2=['2','3']
    const demo3=[demo1,demo2] // [Array(3), Array(2)]
    const demo4=[...demo1,...demo2] // ["1", "2", "3", "2", "3"]
    console.log(demo3)
    console.log(demo4)

    // ... 放到函数里 传进来就是数组
    function test(a, ...value){
        console.log(value) // [...]
    }
    test(1,123)

 
    // 3.startsWith 与  endsWith
    let str = "abcdefg"
    console.log(str.startsWith("abc")) // 检测开始字符
    console.log(str.endsWith("abc")) // 检测末尾字符

    // 4.结构表达式
    let arr = [{a:1},[1,2],3];  //普通写法不能单独取里面数据,结构可以实现
    let [d1,d2] = arr; // 数组结构只能结构对应数组结构带[]输出
    console.log(d1,d2)//1 2 3
    console.log([d1,d2])

    // 5.解构
    const obj = {
        o1:"aa",
        o2:"bb",
        o3:[1,2,3]
    }
    const {name:o1,o2,o3} = obj; // 可以替换变量名name 替换 n ,替换名称只有对象写法才行
    console.log(name,o2,o3)


    // 6.箭头函数+解构
    const data = {
        name1:1,
        name2:2,
    }
    var printName = ({name1}) => console.log(name1) // 单独的可以取出name1
    printName(data)

    // 7.字符串模板  使用英文引号不是字符串单号。 引号加 ${},可以写变量或函数,换行,空格都可以输出,输出html需要加v-html--------------------
    let number = 123
    function funTest(){
        return 123
    }
    let str1 = `
        a=${a + 1}
        ${funTest()}
        c
    `
    let str2 = `${number*1}${funTest()}<div style="font-size:30px">123</div>`
    this.data = str2;
    console.log(str1)
    console.log(str2)

    // 8.函数优化---------------------------------------------------
    function funTest(a,b=1){ // 加等号,可以有默认值,比以前没传参数进来容易出错些
        return a + b;
    }
    console.log(funTest(3))//4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当我们使用ES6对象拓展时,可以更加简洁和灵活地操作对象。下面是更多关于ES6对象拓展的笔记和代码示例: 1. 合并对象和覆盖属性: ES6对象拓展允许我们合并多个对象并覆盖属性。这对于创建新的对象或更新现有对象非常有用。 ```javascript const person = { name: "John", age: 30 }; const additionalInfo = { city: "New York", profession: "Developer" }; const mergedPerson = { ...person, ...additionalInfo }; console.log(mergedPerson); // 输出:{ name: "John", age: 30, city: "New York", profession: "Developer" } ``` 2. 动态设置属性: ES6对象拓展使我们能够动态设置属性,这对于根据不同情况设置对象的属性非常有用。 ```javascript const propName = "name"; const propValue = "John"; const person = { [propName]: propValue }; console.log(person); // 输出:{ name: "John" } ``` 3. 对象方法的简ES6对象拓展还允许我们以更简洁的方式定义对象方法。 ```javascript const person = { name: "John", age: 30, sayHello() { console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`); } }; person.sayHello(); // 输出:Hello, my name is John and I'm 30 years old. ``` 4. 克隆对象: ES6对象拓展提供了一种简单的方式来克隆一个对象。 ```javascript const person = { name: "John", age: 30 }; const clonedPerson = { ...person }; console.log(clonedPerson); // 输出:{ name: "John", age: 30 } ``` 5. 合并数组到对象属性: ES6对象拓展允许我们将数组合并到对象的属性中。 ```javascript const hobbies = ["reading", "painting", "coding"]; const person = { name: "John", age: 30, hobbies: [...hobbies] }; console.log(person); // 输出:{ name: "John", age: 30, hobbies: ["reading", "painting", "coding"] } ``` 这些是关于ES6对象拓展的更多笔记和代码示例ES6对象拓展提供了一种简洁、灵活和有用的方式来操作和创建对象。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值