1.let 命令基本用法 ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。{
  let a = 10;
  var b = 1;
}
a // ReferenceError: a is not defined.
b // 1上面代码,let声明的变量只在它所在的代码块有效for循环的计数器,就很适合是用let命令。for (let            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-15 16:38:05
                            
                                117阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            写在前面的一些话,对于ES6之前一直都是用到哪里查哪里。一直也没有机会完全的读完阮一峰老师的书。刚好这段疫情时间有充足的时间用来学习,下面这篇文章可以带你了解es6新增属性、对象、数据结构等。如果真的有时间不妨读完阮一峰老师的书let与块及作用域es6以前只有全局作用域与函数作用域,es6中增加了块级作用域。es6之前if(true){
    var a = 1
    console.log(            
                
         
            
            
            
            阮一峰 ES6 暂时性死区(定义变量的时候出现) 总之,暂时性死区的本质就是,只要一进入当前作用域,所要使用的变量就已经存在了, 但是不可获取,只有等到声明变量的那一行代码出现,才可以获取和使用该变量。 解构(解构赋值对提取JSON对象中的数据,尤其有用) ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构 最简单解构 let [a, b, c] = [1, 2, 3];            
                
         
            
            
            
            Class的基本用法1. 类的由来2. constructor() 方法3. 类的实例4. 取值函数(getter)和存值函数(setter)5. 静态方法6. 私有方法和私有属性7. 类的注意点1. 严格模式2. 不存在变量提升3. Generator 方法4. this指向 1. 类的由来JavaScript 语言中,生成实例对象的传统方法是通过构造函数。function Point(x,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-18 10:18:28
                            
                                309阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            阮一峰ES6入门读书笔记(十六):Moudle在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。ES6 在语言标准的层面上,实现了模块功能,而且实现得相当简单,完全可以取代 CommonJS 和 AMD 规范,成为浏览器和服务器通用的模块解决方案。ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-05 09:57:07
                            
                                72阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面的支持都没有,这对开发大型的、复杂的项目形成了巨大障碍。在 ES6 之前,社区制定了一些模块加载方案,最主要的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-09 17:24:52
                            
                                48阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            模板字符串// 普通字符串
`In JavaScript '\n' is a line-feed.`
// 多行字符串
`In JavaScript this is
 not legal.`
console.log(`string text line 1
string text line 2`);
// 字符串中嵌入变量
let name = "Bob", time = "today";
`            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-09 00:48:13
                            
                                124阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言昨日在部分群里引起了一些讨论,其中有一点是关于箭头函数的 this 指针的问题。使用了阮一峰《ES6 入门》文章的内容来反驳。在今日得到阮一峰老师的解释之后,特更新本文内容。为了隐私,屏蔽掉了微信昵称:  上述截图,来自阮一峰的《ECMAScript 6 入门》:  下面我们就来看看箭头函数的 this 到底是啥样的,应该怎么理解阮一峰文中的内容!一道题引发的灾难起初,群里一个朋友抛出了这个疑            
                
         
            
            
            
            ES6入门(一)建议大家去读一下阮一峰的es6教程,写的非常的全面,只有在实际的项目中使用过,才能深入的了解es6的属性,下面我只对一些属性做简要的概括,如果有什么不足请大家多多指正,一起学习,共同进步!1、let和constlet和const相比于var来说,具有块级作用域,只会在作用域内有效为什么需要块级作用域?ES5 只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景。 第一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-28 12:02:17
                            
                                124阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            阮一峰ES6学习笔记(1)ES61、let2、const3、ES6 声明变量的六种方法4、顶层对象5、解构赋值 ES61、letvar定义的是全局变量,并且允许在变量声明前使用它;let定义的是块级变量,只在当前作用域有用,不允许在声明前使用它,当在当前作用域绑定了该变量后,全局同名的变量将在该作用域失效,也就是说在当前作用域内,该变量名的使用权全归let;另外,for循环还有一个特别之处,就是            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-22 11:14:37
                            
                                204阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            阮一峰ES6入门读书笔记(十一):PromisePromise 的含义Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理更强大。所谓Promise,简单来说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。Promise 对象有以下两个特点。对象的状态不受外界影响。Promise 对象代表一个异步操作,有三种状态:pending(进行中            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-30 13:05:34
                            
                                59阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. let和const1.let 和 const不存在变量提升问题; 2.let 负责定义变量、const 负责定义常量; 3.二者在同一作用域内(即{}内) 不允许重复声明同一变量名; 4.const 声明后需立即赋值,不然会报错; 5.使用lett定义变量时,该变量不允许使用,此区间称为 暂存性死区// 暂存性死区 
if (true) {
  // TDZ开始
  tmp = 'abc';            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 12:27:49
                            
                                131阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            let 和 const 命令1.let用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。 2、var 与let声明不同 在使用var时,变量可以先使用后声明,输出值为undefined。 在使用let,变量必须先声明后使用 3、不允许重复声明 let不允许在相同作用域内,重复声明同一个变量。 因此,不能在函数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-29 16:36:46
                            
                                39阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、ES6声明变量的六种方法ES5 只有两种声明变量的方法:var命令和function命令。ES6除了添加let和const命令,另外两种声明变量的方法:import命令和class命令。所以,ES6 一共有6种声明变量的方法。1、let变量在代码块中有效。比如用for循环计数器,就很适合用let变量。2、var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为undefined。这种现            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-30 17:20:01
                            
                                57阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             全局作用域 函数作用域 块级作用域一:块级作用域1.外层作用域无法读取内层作用域的变量2.let const声明的变量只能先声明,后使用。   let  const都是块级作用域! const声明的变量必须赋初始值且不可变,像final!  不可变是指引用不可变,也就是内存中的那片地址。  Object.freeze(要冻结对象)   引用指向的对象不可变哦!  const声明引用不可            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-29 23:24:30
                            
                                367阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                 最近在学习es6的Promise,其中涉及到了Promsie的事件执行机制,因此总结了关于Promise的执行机制,若有错误,欢迎纠错和讨论。     在阮一峰老师的书中《es6 标准入门》对Promise的基础知识做出了详细的介绍,在此就不一一介绍了,直接开始整体,将Promsie中关于事件执行机制的问题与大家分享。             
                
         
            
            
            
            1.块级作用域的引入在ES6之前,js只有全局作用域和函数作用域,ES6中let关键字为其引入了块级作用域。{
var a = 5;
let  b = 6;
}
console.log(a);     //5
console.log(b);     //b is undefinedlet声明的变量只能在其所在的代码块内才能访问,var声明的变量由于是全局变量,因此可以在代码块外访问2.暂时性死区v            
                
         
            
            
            
            我总结的都是一些基础的知识点,我们可以通过阮一峰的网站上有更具体的知识点和语法,这是阮一峰写的es6的网站 ---  https://www.bookstack.cn/read/es6-3rd/sidebar.md
在es6中常遇到的问题:1.es5和es6继承的区别:ES5的继承是通过原型或构造函数机制实现的;它先创建子类,再实例化父类并添加到子类this中。 ES            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-17 09:49:30
                            
                                109阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言最近需要使用react进行开发,由于react需要ES6的语法支持,所以希望在进行React学习之前,先了解下ES6的一些特性ES6中支持声明代码块级别的变量,主要有两种方式,let和const,let声明变量,const声明常量。let1、只能在声明代码所在的代码块中使用function hello(){
let a =1;
}
alert(a);代码会报错ReferenceError: a            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-01 23:07:35
                            
                                87阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、数组的解构赋值        ES6 允许按照一定模式,从数组和对象中取值,对变量进行赋值,这被称为解构赋值        let [a, b, c] = [1, 2, 3];上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。其实这种写法属于‘匹配模式’,等号两边的模式相同,左边的变量就会被赋予            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-16 14:10:35
                            
                                64阅读