javascript与es6的区别:1、javascript一种动态类型、弱类型、基于原型的客户端脚本语言,用来给html网页增加动态功能,es6是javascript语言的下一代标准;2、es6是javascript的语言规范,javascript是es6的一种实现。
本教程操作环境:windows10系统、javascript1.8.5版、dell g3电脑。
javascript与es6的区别是什么javascript是什么
javascript一种动态类型、弱类型、基于原型的客户端脚本语言,用来给html网页增加动态功能
动态:在运行时确定数据类型。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。
弱类:计算时可以不同类型之间对使用者透明地隐式转换,即使类型不正确,也能通过隐式转换来得到正确的类型。
原型:新对象继承对象(作为模版),将自身的属性共享给新对象,模版对象称为原型。这样新对象实例化后不但可以享有自己创建时和运行时定义的属性,而且可以享有原型对象的属性。
es6是什么
ecmascript 6.0(以下简称es6)是javascript语言(现在是遵循es5标准)的下一代标准,已经在2015年6月正式发布了。它的目标,是使得javascript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
es6的新特性
es6中的let命令,声明变量,用法和var差不多,但是let是为javascript新增了块级作用域,es5中是没有块级作用域的,并且var有变量提升的概念,但是在let中,使用的变量一定要进行声明。
es6中变量的解构赋值,比如:var [a,b,c] = [0,1,2];
es6中不再像es5一样使用原型链实现继承,而是引入class这个概念,听起来和java中的面向对象编程的语法有些像,但是二者是不一样的。
es6中的函数定义也不再使用关键字function,而是利用了=>来进行定义;
es6中可以设置默认函数参数,如function a(x,y=9){};
ecmascript和javascript的关系
由于javascript的创造者netscae公司的版权问题,ecmascript不能叫javascript。总之,ecmascript和javascript的关系是,前者是后者的规格(语言规范),后者是前者的一种实现。
扩展知识
es6特性如下:
1.块级作用域 关键字let, 常量const
2.对象字面量的属性赋值简写(property value shorthand)
var obj = { // __proto__ __proto__: theprotoobj, // shorthand for ‘handler: handler’ handler, // method definitions tostring() { // super calls return "d " + super.tostring(); }, // computed (dynamic) property names [ 'prop_' + (() => 42)() ]: 42};
3.赋值解构
let singer = { first: "bob", last: "dylan" };let { first: f, last: l } = singer; // 相当于 f = "bob", l = "dylan"let [all, year, month, day] = /^(dddd)-(dd)-(dd)$/.exec("2015-10-25");let [x, y] = [1, 2, 3]; // x = 1, y = 2
4.函数参数 - 默认值、参数打包、 数组展开(default 、rest 、spread)
//defaultfunction findartist(name='lu', age='26') { ...}//restfunction f(x, ...y) { // y is an array return x * y.length;}f(3, "hello", true) == 6//spreadfunction f(x, y, z) { return x + y + z;}// pass each elem of array as argumentf(...[1,2,3]) == 6
【相关推荐:javascript视频教程、web前端】
以上就是javascript与es6的区别是什么的详细内容。
