ES6语法_var、let 、 const、解析表达式、模板字符串、箭头函数、map 、reduce、Object优化(一)

简介: ①. let | const | var②. 数组、对象解析表达式

写在最前面:


(1). ECMAScript6.0(以下简称ES6,ECMAScript是一种由Ecma国际通过ECMA-262标准化的脚本),是JavaScript语言的下一代标准,2015年6月正式发布,从ES6开始的版本号采用年号,如ES2015,就是ES6。ES2016就是ES7


(2). ECMAScript是规范,JS的规范的具体实现。


①. let | const | var


  • ①. let是块级作用域,函数内部使用let定义后,对函数外部无影响


      <script>
        //1.var申明的变量有变量提升,如果不初始化会输出undefined,不会报错。
        console.log(num)//undefined
        var num = 10
        console.log(num)//10
        console.log(num2)//报错 (let申明的变量没有变量提升)
        let num2 = 10
        console.log(num2)//10
        //2.外部的num变量与内部let声明的变量是没有关系的
      //利用let声明的变量会绑定在这个块级作用域,不会受外界的影响
        var num3=10
        if(true){
             //由于内部的num3和外部没有关系,这里的num3是let num3,所以这里会报错
             console.log(num3)
             let num3=5;
             console.log(num3)
        }
        //3.let只能声明一次,声明多次相同变量会报错
        let a=5;
        let a=10;
      </script>


②. const定义的变量不可以修改,而且必须初始化


    <script>
        /*
        1、具有块级作用域
        2、声明常量必须赋值
        3、赋值后值不能修改(存储地址不可更改)
        */
        //例
        const ary = [100, 200];
        ary[0] = 'a'; 
        ary[1] = 'b'; 
        console.log(ary); // ['a', 'b'];
        ary = ['a', 'b']; // Assignment to constant variable
    </script>


③. var定义的变量可以修改,如果不初始化会输出undefined,不会报错


②. 数组、对象解析表达式


  • ①. 解析表达式两种情况


  1. 数组赋值:如果解构不成功,变量的值为undefined


  1. 对象赋值


    <script>
        //1.数组赋值
        let [a, b, c, d] = [1, 2, 3];
        console.log(a)//1
        console.log(b)//2
        console.log(c)//3
        console.log(d);//undefined
        //如果解构不成功,变量的值为undefined
        //2.对象赋值
        let {name,age}={"name":"xiaozhi","age":23}
        console.log(name)
        console.log(age)
    // 起別名
        let person={name:"tangzhi",age:"24"}
        let {name:myName,age:myAge}=person;
        console.log(myName);
        console.log(myAge);
    </script>
相关文章
|
JavaScript 前端开发 开发者
讲述Vue框架中用于对象响应式变化的Object.defineProperty函数。
综上所述,Vue.js通过 `Object.defineProperty()`提供了强大的响应式能力,使得状态管理变得简洁高效。这种能力是Vue.js受到广大开发者青睐的重要原因之一。尽管Vue 3.x使用Proxy替代了该方法,但对于Vue 2.x及其之前版本,`Object.defineProperty()`是理解Vue.js内部工作机制不可或缺的一部分。
317 27
|
存储 机器学习/深度学习 缓存
🚀 力扣热题 394:字符串解码(详细解析)(Go语言版)
文章提供了两种解法:栈结构和递归解法。栈解法通过维护数字栈与字符串栈,依次处理 `[` 和 `]`,构造解码结果;递归解法则利用函数调用逐层解析嵌套结构。两者时间复杂度均为 $O(n)$,空间复杂度也为 $O(n)$。栈解法直观易懂,适合初学者;递归解法优雅简洁,适合处理深度嵌套规则。掌握这两种方法,可灵活应对类似问题,提升解题能力。
559 11
|
自然语言处理 算法 搜索推荐
字符串相似度算法完全指南:编辑、令牌与序列三类算法的全面解析与深入分析
在自然语言处理领域,人们经常需要比较字符串,这些字符串可能是单词、句子、段落甚至是整个文档。如何快速判断两个单词或句子是否相似,或者相似度是好还是差。这类似于我们使用手机打错一个词,但手机会建议正确的词来修正它,那么这种如何判断字符串相似度呢?本文将详细介绍这个问题。
1361 1
|
存储 PHP 数据安全/隐私保护
spl_object_hash() 函数
spl_object_hash() 函数
|
C# Android开发 开发者
Uno Platform 高级定制秘籍:深度解析与实践样式和模板应用,助你打造统一且高效的跨平台UI设计
【9月更文挑战第7天】Uno Platform 是一个强大的框架,支持使用 C# 和 XAML 创建跨平台 UI 应用,覆盖 Windows、iOS、Android、macOS 和 WebAssembly。本文介绍 Uno Platform 中样式和模板的应用,助力开发者提升界面一致性与开发效率。样式定义控件外观,如颜色和字体;模板则详细定制控件布局。通过 XAML 定义样式和模板,并可在资源字典中全局应用或嵌套扩展。合理利用样式和模板能简化代码、保持设计一致性和提高维护性,帮助开发者构建美观高效的跨平台应用。
505 1
|
存储 关系型数据库 MySQL
|
SQL 开发框架 前端开发
在C#开发中使用第三方组件LambdaParser、DynamicExpresso、Z.Expressions,实现动态解析/求值字符串表达式
在C#开发中使用第三方组件LambdaParser、DynamicExpresso、Z.Expressions,实现动态解析/求值字符串表达式
|
编译器 C++
【C++】模板进阶:深入解析模板特化
【C++】模板进阶:深入解析模板特化
440 0
|
SQL 自然语言处理 前端开发
【JavaScript】ECMAS6(ES6)新特性概览(一):变量声明let与const、箭头函数、模板字面量全面解析
【JavaScript】ECMAS6(ES6)新特性概览(一):变量声明let与const、箭头函数、模板字面量全面解析
231 2

热门文章

最新文章

推荐镜像

更多
  • DNS