const声明一个只读的常量。一旦声明,常量必须进行初始化且初始化的值就不能改变。...if (true) { console.log(MAX); // ReferenceError const MAX = 5; } 上面代码在常量MAX声明之前就调用,结果报错。...const声明的常量,也与let一样不可重复声明。 var message = "Hello!"...对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。...因此,将一个对象声明为常量必须非常小心。
ES6(ECMAScript 2015)引入了const关键字,用于声明常量。在JavaScript中,常量是指其值在声明后不能被重新赋值的变量。...const声明的常量具有以下特点:常量值不能被重新赋值:一旦用const声明一个常量并初始化赋值,就不能再改变其值。任何尝试重新赋值的操作都会导致语法错误。...必须初始化:const声明的常量在声明时必须进行初始化赋值。否则,会抛出一个语法错误。...value是常量的初始值,可以是任何合法的JavaScript表达式。...常量必须初始化:const name; // 抛出SyntaxError: 常量声明缺少初始化在上面的示例中,我们没有给name常量提供初始值,这将导致一个语法错误。
1、常量类 public class Constants { // 成功状态码 public static final Integer SUCCESS_CODE = 200;...public static final String INTERNAL_SERVER_ERROR_MESSAGE = "服务器内部错误"; // 功能未实现消息 public...= "网关错误"; // 服务不可用消息 public static final String SERVICE_UNAVAILABLE_MESSAGE = "服务不可用"; /.../ 网关超时消息 public static final String GATEWAY_TIMEOUT_MESSAGE = "网关超时"; } 2、统一返回结果类 public class Result...return new Result(Constants.SUCCESS_CODE, data, Constants.SUCCESS_MESSAGE); } // 修改返回方法参数顺序
proxy 的概念 proxy 英文原意是代理的意思,在 ES6 中,可以翻译为"代理器"。...Proxy 实例的方法 当读取不存在的属性时候,抛出错误而不是返回 undefined var person = { name: "张三", }; var proxy = new Proxy(person...Property "' + property + '" does not exist.'); } }, }); proxy.name; // "张三" proxy.age; // 抛出一个错误
一、JavaScript 块级作用域 1、块级作用域 - ES6 之前 等同于 全局作用域 在 JavaScript 中 , 块级作用域 指的是 在一对大括号 {} 内 声明的变量 只在这对大括号内部可见...; 在 ES6 之前 JavaScript 只有 全局作用域 和 局部作用域 概念 , 没有 块级作用域 概念 , 此时 块级作用域 相当于 全局作用域 或 局部作用域 , 具体 取决于 {} 是在哪个作用域中...使用 let / const 声明变量 / 常量 ES6 引入了 let 和 const 关键字 , 这两个关键字 声明的 变量 或 常量 具有块级作用域 ; 在 {} 代码块中 , 使用 let 或...const 声明 变量 或 常量 , 在 代码块 外部无法访问 ; 3、代码示例 - ES6 之前的块级作用域 = 全局作用域 在下面的代码中 , 在 {} 代码块中 , 使用 var 关键字声明的变量...if 语句的大括号 {} 内部可见 ; 如果在 if 语句外部访问 num2 变量 , 会抛出如下错误 : hello.html:19 Uncaught ReferenceError: num2 is
JS的ES6网上也热炒了好久了, 我一直也没怎么太细看, 今天想起来就写个东西, 也为分享,也为学习。...(arguments) } func(xx);// 貌似arguments不能用了,啥也输出不出来 ---------- var 好像也不用了, 改let和const了, 以后局域变量就let; 全局常量就...目前还不知这个毛用 ---------- ES6也支持module模块啦, 这个貌似不错的样子, 就因为有这个了,有人说seaJs、requireJs都要挖坑埋了什么的呢, 不过没关系,反正这些我都没学...,哈哈 ---------- ES6的东西也挺多的, 但我个人觉得纯纯新添加的东西其实不错, 更多的都是对之前的增强和修补。...以上都是我个人的偏见 相关链接: javascript设计模式 -- 工厂模式 闲聊javascript设计模式 - 单例模式
作为一个程序员,需要的不仅仅是技术,更是需要在遇到错误的时候对错误的处理能力。就前端而言,技术一直在更新,但是JavaScript中的错误也就是那么几个。掌握不同的报错信息会让你的实际开发事半功倍。...JavaScript中的错误类型 Error EvalError RangeError ReferenceError SyntaxError TypeError URIError Error Error...SyntaxError 当Javascript语言解析代码时,Javascript引擎发现了不符合语法规范的tokens或token顺序时抛出SyntaxError。...TypeError 这个错误在JavaScript中是经常遇到的,不管是初学者还是老手。在变量中保存着以外的类型时,或者在访问不存在的方法时。都会导致这种错误。...抛出错误 在使用try-catch语句时发生错误我们可以执行其他事情或者是抛出这个错误。抛出错误使用throw操作符。
本章我们将学习 ES6 中的 Set(集合) 及 WeakSet 集合 的相关用法及使用场景。...一、概述 Set 集合是 ES6 引入的新的内置对象类型,其特点同数学意义的集合,即集合内所有元素不重复(元素唯一)。...要了解 Set 集合,我们可以先看看数组,ES6 之前数组类似于数学意义上 集合,但是差异在于数组元素值是可重复。...WeakSet 集合 WeakSet 和 普通的 Set 相似,不同点在于: WeakSet 只能添加对象元素 WeakSet 无法迭代 没有 clear() 方法 为什么没有 clear 方法,阮一峰老师的 ES6...另外,由于 WeakSet 内部有多少个成员,取决于垃圾回收机制有没有运行,运行前后很可能成员个数是不一样的,而垃圾回收机制何时运行是不可预测的,因此 ES6 规定 WeakSet 不可遍历。
JavaScript 错误异常 错误异常语句 try 语句测试代码块中的错误 catch 语句处理错误 throw 语句允许自定义错误 finally 语句在错误异常语句后,必须执行的代码块 try {...try … catch 语句 try { 需要检测的代码块; } catch { 处理 try 检测到错误的代码块; } 抛出异常 当发送错误是,JavaScript通常会抛出异常并产生异常错误信息...(抛出异常) JavaScript实际上会创建带有两个属性的Error对象:name 和 message throw 语句 throw:允许您创建自定义的错误 throw "To Bug" ; throw...DOCTYPE html> javascript <body...拥有内置的error对象 Error对象属性 属性 描述 name 设置或返回错误名 message 设置或返回错误信息(一条字符串) Error Name Values Error的name属性可返回六个不同的值
变量类型的查看 var 变量 = 数值 输出变量的变量类型 console.log(typeof 变量) console.log(typeof(变量)) Java和JavaScript...JavaScript是解释型语言 2.Java和JavaScript变量的区别: Java中: 每个作用域,只可以声明一个同名称的变量。...JavaScript中 每个作用域,可以声明相同名称的变量。 JavaScript中无需声明变量的数据类型。...常量的声明: const 常量 = 数值; 常量和变量的区别: 1.常量仅可赋值一个值,变量可以赋值多个数值。...2.常量声明时需要同时进行赋值,未赋值的常量,默认常量值为undefiend如:const value;的常量值undefiend
ES6 const 特点: 临时性死区 在定义的时候完成初始化 不能重新定义 不能重新赋值 语义化标识,表示声明后不可更改的不变量 原理: ES5没有块级的概念,我们只能大概模拟一下const的定义。
那么先控制台输出一下{}+[]和[]+{}看一下结果,直接上图: 一个返回0,一个返回'[object Object]',互换位置后返回的结果不一样。...但是第一个返回0。 再看一张图: 定义一个空对象变量a,再加空数组就返回了'[object Object]'。 应该是{}+[]中的{}没有被解释器解释成空对象,又发现+[]返回的是0。...同时也因为+号可以单独放在变量前使用,意为返回这个变量的数值,看上一篇博客。所以放在+号前面不一定会被解释在变量,后面一定会被解释成变量。
我使用的是北京息壤空间,安装完PHPCMS,一进入后台就返回500错误。
最近在项目中遇到问题 最近在项目中遇到问题 Javascript 未结束的字符串常量 大致过程是:从客户端(java)传一个json字符串至页面,页面上用 function SetJson(data)
前言 const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改。...const 声明常量 const定义常量与使用let 定义的变量相似: 二者都是块级作用域 都不能和它所在作用域内的其他变量或函数拥有相同的名称 两者还有以下两点区别: const声明的常量必须初始化,...而let声明的变量不用 const 定义常量的值不能通过再赋值修改,也不能再次声明。...,而let声明的变量不用 // 错误写法 const PI; PI = 3.14 以下是正确写法,声明的同时赋值 // 正确写法 const PI = 3.14; 初始化后值不可再修改 const PI...= 3.14; PI = PI + 1; // 报错 并非真正的常量 使用 const 定义的字符串和数字类型是不可变的,当定义一个对象或数组时,里面的内容是可以修改的。
本章我们主要学习 ES6 中的箭头函数 箭头函数 更准确来说叫 箭头函数表达式。箭头函数余普通函数功能相同,但语法差别比较大。...> console.log(this.name) , 1000) } } Person.getName();// 空,什么都没有 参考资料: MDN 箭头函数 this 原理 ES6
带你入门 JavaScript ES6 (四) 本章我们将学习 ES6 中的 类,了解类基本定义和继承相关知识 一、概述 ES6 中的 类 是基于原型的继承语法糖,本质上它是一个 function 类型
ES6: 是 ECMA国际组织于 2015 年 6 月 17 日发布的 ECMAScript 第六版,正式名为 ECMAScript 2015,通常被成为 ES6 或 ECMAScript 6。...目录: 一、let 和 const 声明块作用域变量 二、模版字面量 三、解构赋值 四、对象字面量简写 五、默认参数 一、 let 和 const 声明块作用域变量 ES6 引入 let 和 const...不同之处在于不会对申明的变量(或常量)提升作用域范围 1.1 let 变量声明 let 语法用于声明块作用域内的可重新赋值的变量,作用域内无法重新声明 MDN let let name = 'huliuqing...' name = 'Hu Liuqing' console.log(name) 1.2 const 常量声明 const 语法用于声明是必须 赋值初始值,并且无法重新复制,作用域内不能重新声明 MDN...都是定义在 if 代码块内 当在 if 代码块外调用isSpring, theSeason, SUMMER_SEASON时,由于 let 和 const 块作用域特性会在控制台报 not defined 错误
上一篇学习下一代 JavaScript 语法: ES6 (一),我们学习了关于块作用域变量或常量声明 let 和 const 语法、新的字符串拼接语法模版字面量、数组元素或对象元素的解构赋值和对象字面量简写的相关知识...:展开运算符、剩余参数) 一、for of 迭代语法 先让我们看看 ES6 之前的对象变量迭代(遍历)方式: 1.1 for 语句 for 语句 let numerics = [0, 1, 2, 3]...numerics) { console.log(numerics[index]) } 但是 for in 语句依然需要定义 index,作为访问数据的索引 1.3 for of 语句 现在在 ES6...,在上一篇[学习下一代 JavaScript 语法: ES6 (一)]()的「3.1」节中我们使用了将数组中剩余元素解构赋值到一个变量。这便是扩展运算符的用途之一。...] console.log(...languages)// php javascript python c++ console.log(languages)// ["php", "javascript
JavaScript语言本身也有一些令人不满意的地方。...变量提升特性增加了程序员运行时的不可预测性 语法过于松散,实现相同的功能,不同的人可能会写出不同的代码 ES6新增语法 let ES6中新增用于声明变量的关键字 let声明的变量只在所处于的块级有效...,常量就是值(内存地址)不能变化的量。...使用const声明的是常量,在后面出现的代码中不能再修改该常量的值 var let const 函数级作用域 块级作用域 块级作用域 变量提升 不存在变量提升 不存在变量提升 值可更改 值可更改 值不可更改...解构赋值 ES6中允许从数组中提取值,按照对应位置,对变量赋值。