let、const、var的区别,解构赋值,箭头函数

这篇具有很好参考价值的文章主要介绍了let、const、var的区别,解构赋值,箭头函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

let、const、var的区别

  • 使用var声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象。
  • 使用let声明的变量,其作用域为该语句所在的代码块内,不存在变量提升。
  • 使用const声明的是常量,在后面出现的代码块中,不能在修改改常量的值。

var

let

const

函数级作用域

块级作用域

块级作用域

变量提升

不存在变量提升

不存在变量提升

值可改

值可改

值不可改

解构赋值

数组解构赋值

ES6中允许从数组中提取值,按照对应的位置,对应的变量赋值。对象也可以实现解构

示例

   <script>
        // 数组解构赋值 允许从数组中提取值,按照对应的位置,对应的变量赋值
        let ary = [1, 2, 3];
        let [a, b, c, d] = ary;
        // let [a, b, c] = [1, 2, 3];
        console.log(a);//1
        console.log(b);//2
        console.log(c);//3
        console.log(d);//undefined
    </script>

 let、const、var的区别,解构赋值,箭头函数

 对象解构

 <script>
        // 对象解构 允许我们使用变量的名字匹配对象的属性 匹配成功将对象属性的值赋值给变量
        let person = { name: '王五', age: 20, sex: '男' };
        let { name, age, sex } = person;
        console.log(name);//zhangsan 相当于 let neme = person.name
        console.log(age);//20  相当于 let age = person.age
        console.log(sex);
        // 写法2
        let { name: myName } = person;
        console.log(myName);
    </script>

 let、const、var的区别,解构赋值,箭头函数

箭头函数

ES6中新增的函数方式。     

语法:

() => {}          // () 还是放形参的地方  {}还是函数体
const fn = () => {}

小技巧:

  • 在箭头函数中函数体如果只有一句代码,且执行结果就是返回值,此时可以省略大括号 {}
  • 如果形参只有一个,可以省略小括号()

示例

<script>
        // 箭头函数是用来简化函数定义语法的
        const fn = () => {
            console.log(123);
        }
        fn();

        // const sum = (num1, num2) => {
        //     return num1 + num2;
        // }
        // 在箭头函数中函数体如果只有一句代码,且执行结果就是返回值,此时可以省略大括号和 return 
        const sum = (num1, num2) => num1 + num2;
        const result = sum(2, 3);
        console.log(result);
        // 如果形参只有一个, 可以省略小括号
        const fun = v => alert(v);
        fun(20);
    </script>

let、const、var的区别,解构赋值,箭头函数

箭头函数中的this指向

箭头函数不绑定this关键字,箭头函数中的this,指向的是函数定义位置的上下文this

示例 

 <script>
        // 箭头函数不绑定this 也就是说它没有自己的this关键字,如果在箭头函数中使用this
        // this关键字指向箭头函数 定义位置中的this(它父级的this)
        const obj = { name: '张三' }
        function fn() {
            console.log(this);
            return () => {
                console.log(this);
            }
        }
        const resFn = fn.call(obj);// 指向 obj
        resFn();//也是obj 因为这里的箭头函数指向 fn函数但 fn函数指向 obj 所以箭头函数也
        // 指向obj 
    </script>

 let、const、var的区别,解构赋值,箭头函数文章来源地址https://www.toymoban.com/news/detail-450683.html

到了这里,关于let、const、var的区别,解构赋值,箭头函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaScript】 var let const 的区别

    在JavaScript中,let、var和const是用于声明变量的,它们之间有一些重要的区别: var是在ES5(ECMAScript 5)中引入的声明变量的。 变量声明的作用域是函数作用域,而不是块级作用域。这意味着在函数内声明的变量在整个函数范围内都是可见的。 如果在块级作用域内

    2024年02月15日
    浏览(33)
  • JavaScript 中的 Var、Let 和 Const 有什么区别

    ES2015(ES6)推出了许多闪亮的新功能。从 2020 年开始,我们假设许多 JavaScript 开发人员已经熟悉并开始使用这些功能。 尽管这个假设可能部分正确,但是其中某些功能可能对一些开发人员来说仍然是个谜。 ES6 附带的功能之一是添加了 let 和 const ,可用于变量声明。问题是,

    2024年02月09日
    浏览(57)
  • ES6系列之let、const、箭头函数使用的坑

    变量提升 块级作用域的重要性 箭头函数this的指向 rest参数和arguments Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在老版本的浏览器执行。这意味着,你可以用ES6的方式编写程序,又不用担心现有环境是否支持。  上面的原始代码用了箭头函数,Babel将其转

    2024年02月14日
    浏览(30)
  • ES6中let和const关键字与var关键字之间的区别?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月09日
    浏览(40)
  • const、var、let用法

    当使用 var 声明变量时,该变量的作用域是在最近的函数体内,而不是块级作用域(例如 if 语句、 for 循环等)。这意味着在函数内部,无论变量是在函数的哪个位置声明的,它都可以被访问到。 另外,使用 var 声明的变量具有变量提升(hoisting)的特性。这意味着变量声明会

    2024年02月11日
    浏览(38)
  • 深入解析JavaScript中的var、let和const

    🧑‍🎓 个人主页: 《爱蹦跶的大A阿》 🔥 当前正在更新专栏: 《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​  ​         变量的声明是编程中非常基础和关键的概念。在ES6之前,JavaScript只有var一种声明变量的方式。ES6带来了let和const来声明变量

    2024年01月20日
    浏览(31)
  • ES6知识点汇总(1)--var/let/const

    1、var 在ES5中,顶层对象的属性和全局变量是等价的,用var声明的变量既是全局变量,也是顶层变量 注意:顶层对象,在浏览器环境指的是window对象,在 Node 指的是global对象 使用var声明的变量存在变量提升的情况 在编译阶段,编译器会将其变成以下执行 使用var,我们能够对

    2024年02月12日
    浏览(36)
  • JS中var、let以及const关键字到底怎么用?

    在学习JS变量之后,初学者都避免不了都会一下子分不清这三个变量在代码块中的作用域范围,其实 const 简单理解它就是定义常量的,但是在实际开发中,我们却很常见它的身影。 说实话刚开始我也分不清他们的作用域范围,但是自己再去详细看一遍教程之后,其实发现还是

    2023年04月13日
    浏览(29)
  • let和var区别 (最全)

    1、var是函数作用域,let是块作用域 2、var存在声明提升,let没有声明提升,但是有“暂时性死区”-JS引擎会注意到出现在块后面的let声明,在声明前直接使用会抛出ReferenceError, 3、全局作用域下,var声明的变量挂载在window,let不会 4、在for循环中使用let, let出现直线,for循环定

    2024年01月16日
    浏览(29)
  • js let和const区别

    在JavaScript中,let和const的区别主要体现在以下几个方面: 变量的可变性:使用let声明的变量可以被改变,无论是值还是类型都可以改变。而const声明的常量则不可以改变,一旦声明并初始化后,它的值就不能再改变。 声明的块级作用域:let和const都只在声明所在的块级作用域

    2024年01月19日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包