首页 > 其他分享 >ES6-特性

ES6-特性

时间:2023-04-25 20:01:27浏览次数:38  
标签:ES6 resolve console log 特性 let 变量

1. let

  特性1:同作用域下变量不能重复声明 (var可以,前者覆盖后者)

  特性2:块级作用域内有效

    也就是说:ES6后作用域,全局作用域,块级作用域(if(){},while(){},for(){},else{}),函数作用域。查找变量由内向外查找。

  特性3:不存在变量提升

    例如:var声明变量,在代码执行前先收集变量定义在开头

      (var song)(不存在编写)

      var song= "恋爱达人";

 

2. 常量const

  特性1:不能修改值

  特性2:必须附初始值

  特性3:对数组和对象内元素修改,不算做对常量修改,不报错。

    原因:const本质,不许变量保存的内存地址内的值改变。复杂类型是引用地址所以可以改变。

 

3. 对象解构

  特性:快速声明变量,赋值对象属性

    例子:

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

let {name,age,xiaopin} = zhao;
console.log(name);
console.log(age);
console.log(xiaopin);

 

4. 对象字面量

  特性:赋值对象属性直接写变量,变量名是属性名,变量值是属性值

    例子:

let name2 ="沈腾";
let change = function(){
    console.log("我们改变你!!");
}
let person = {
    name2,
    change,
}
console.log(person.name2);
person.change();

 

5.箭头函数

  特性:使用 =>定义函数

    例子:

let say = ()=>{
    console.log("Hello,World!");
}

  特性2:箭头函数this指向函数定义处的this

// 如下:箭头函数this指向,定义处function(){}的this
let person = {
    name:"张三",
    age:18,
    say:function (){
        let talk = ()=>{
            console.log("this is "+this);
            console.log(this.name);
            console.log(this.age);
        }
        talk();
    }
}
person.say();
// 因为箭头函数没有this,所以使用function(){}的this,functionthis指向调用该函数的对象,也就是person
// 因此,output:this is person , this.name="张三" , this.age=18

  特性3:只有一个参数,一行代码(该代码会被当返回值)。分别可省略 () , {}

    例子:

let a = n => n*2;
let result = a(22);
console.log(result);

  

 6. 扩展运算符

  特性:...数组,将数组转化为参数序列

  

const tfboys = ['a','b','c'];
let chunwan = (index1,index2,index3) =>{
    console.log("index1: "+index1);
    console.log("index2: "+index2);
    console.log("index3: "+index3);
}
chunwan(...tfboys); // chunwan(tfboys[0],tfboys[1],tfboys[2]);

// 作用:
// 1. 数组合并
const kuaizi = ["王太利","肖央"];
const fenghuang = ["曾毅","玲花"];
const zuhe = [...kuaizi,...fenghuang];
console.log(zuhe);

 

7. promise对象 和 exprot与import

// promise对象
// 参数: 包含resolve,reject函数参数的函数参数
// 作用:解决异步代码嵌套
// 包含resolve,reject函数参数中resolve,reject作用
//         resolve():可以放置一个参数向下个then传值

// 方法: promise.then() 
// 参数:包含value的函数参数
//     value:resolve()传递的值
/* 返回值:如果return new Promise((resolve,reject)={
    
                })
        那么返回值还是 promise
*/
// export 暴露模块,import 导入模块
// export {变量,变量}
// import {变量,变量} from "./xxx.js"

let getData = ()=>{ 
    return  new Promise((resolve,reject)=>{
            setTimeout(()=>{
                resolve(1);
            },1000)
        }).then((value)=>{
            console.log(value);
            return new Promise((resolve,reject)=>{
                setTimeout(()=>{
                    resolve(2);
                },1000)
            })
        }).then((value)=>{
            console.log(value);
        })
}
export {getData}

 

8. async和await

 

 

标签:ES6,resolve,console,log,特性,let,变量
From: https://www.cnblogs.com/encodeResaon/p/17353599.html

相关文章

  • ES6-特性总结
    EcmaScript权威地址:https://www.runoob.com/w3cnote/es6-tutorial.htmlEcmaScript视频教程:https://www.bilibili.com/video/BV1uK411H7on/?spm_id_from=333.337.search-card.all.click  ......
  • javascript import maps 特性现已被全部主流浏览器支持
    值得庆祝Importmaps特性现在可以在全部三个主要浏览器内使用现在主流现代web应用引入和利用javascript是通过Esmodule模块实现。在开发javascript上,比起无模块化功能的旧版浏览器,现代浏览器支持模块化且提供了许多好用的功能引入esmodule使用<scripttype=“impor......
  • Rust编程语言入门之高级特性
    高级特性主要内容不安全Rust高级Trait高级类型高级函数和闭包宏一、不安全Rust匹配命名变量隐藏着第二个语言,它没有强制内存安全保证:UnsafeRust(不安全的Rust)和普通的Rust一样,但提供了额外的“超能力”UnsafeRust存在的原因:静态分析是保守的。使用......
  • 轻量化3D文件格式转换HOOPS Exchange新特性
    BIM与AEC市场发展现状近年来BIM(建筑信息模型)和AEC(建筑、工程和施工)市场一直保持着持续增长。2014年全球BIM软件市场价值27.6亿美元,而到2022年,预期到达115.4亿美元,复合年增长率保持在19.1%,并且对未来十年BIM增长率的保守估计为10%。世界各地的许多政府现在也在强制要求遵守......
  • dubbo高级特性
     ......
  • 15面向对象特性
    面向对象特性封装在程序设计中,封装(Encapsulation)是对具体对象的一种抽象,即将某些部分隐藏起来,在程序外部看不到,其含义是其他程序无法调用。要了解封装,离不开“私有化”,就是将类或者是函数中的某些属性限制在某个区域之内,外部无法调用。封装的作用:1、保护隐私(把不想别人知道......
  • DevEco Studio 3.1 Beta新特性知多少
     HUAWEIDevEcoStudio是开发HarmonyOS应用及服务的一站式集成开发环境(IDE)。本次,DevEcoStudio3.1Beta新增支持当前在市面上新的操作系统,如Windows11、macOS(ARM)操作系统,还面向HarmonyOS3.1新增了如下亮点特性。 一、更智能的代码编辑能力DevEcoStudio3.1Beta带来更......
  • 模型动态测试工具TPT 19 新特性速览
    TPT19亮点    形式化需求:自动生成测试用例  在TPT19中,测试用例可以通过形式化需求自动创建—只需要按下按钮。 此前,形式化需求已经自动评估。现在我们对此进行了更深一步的改进。  参数集的混合执行  TPT19中可以更容易地创建参数集,可以多次执行,当......
  • 【介绍】.NET新加特性介绍
    ​简介        当下的.Net新版本引进了几种新特性,包括全局命名空间引用、可空引用类型和顶级语句。这些特性在一定程度上改善了 .NET 平台的开发效率, 对于短小精干的小程序,这些新的特性无疑可以把开发效率提高到新的高度。正文全局引用命名空间        ......
  • 盘点C# 9.0中好用的特性
    顶级语句将类和类里面Main函数省略,只留下核心的逻辑代码就是顶级语句!1.顶级语句1awaitSystem.Threading.Tasks.Task.Delay(1000);System.Console.WriteLine("Hi!");return0;staticclass$Program{staticasyncTask<int>$Main(string[]args){awai......