ES6第一部分

1.let声明变量,va声明变量,而const声明的常量

2.let与var的区别

let可以让变量长期驻扎在内存当作

let的作用域是分块的,块内的变量不会覆盖块外的变量值。

{

//(模)块1

let a = 1;

  if(true){

    //(模)块2

    let a = 2;

  }

console.log(a); //1,因为块内的变量不会覆盖块外的变量值

}

let与var:同一个代码块里面不能出现变量重复声明

3.const声明常量,常量的值一旦声明就整体就不能被改变,如果一个空数组或者json的话还是可以网他们里面添加成员,但可以通过【彻底冻结函数】来禁止添加成语。
const的作用域也是分块的,const与let共同点:同一个代码块里面不能出现变量重复声明
const PI = 3.1415926; //声明常量
const对象声明后可以进行属性附值操作,但是不能重新对整个对象赋值操作【例如const json = {},json={name:‘hao123‘}】。

4.const对象冻结

//冻结1
const person = Object.freeze();//冻结
person.name = "zhangsan";
person.age = 30;
console.log(person.age);//30

//冻结2
const person = Object.freeze({});//冻结
person.name = "zhangsan";
person.age = 30;
console.log(person.age); //undefined

//冻结3
const person = Ojbect.freeze({//冻结
    name:"张三",
    age:30;
});
console.log(person.age);//30

5.forEach用法

/**
 * forEach的用法,遍历一个对象
 * forEach(testfun[,thisobj]);
 */
var arr = [1,2,3,4];

//写法1
arr.forEach(t1,arr);
function t1(arg) {
    alert(arg);
}

//写法2
arr.forEach(function (e) {
    alert(e);
});

6.彻底冻结对象的函数

/**
 * 利用forEach来实现ES6彻底冻结对象的函数
 * @param  {[type]} obj [description]
 * @return {[type]}     [description]
 */
/*ES6写法*/
var constantize = (obj) => {
    Object.freeze(obj);
    Object.keys(obj).forEach( (key,value) => {
        if( typeof obj[key] === ‘object‘ ) {
            constantize( obj[key] );
        }
    });
};
/*ES5写法*/
var contantize = function (obj) {
    Object.freeze(obj);
    Object.keys(obj).forEach(function (key,value) {
        if( typeof obj[key] === ‘object‘ ) {
            constantize ( obj[key] );
        }
    });
}

7.跨模块常量的使用

//module.js文件的代码
export const myjson = {
    varInt: 100,
    varFloat: 11.02,
    varString: ‘abc‘
}

//use.js
import * as myjson form ‘./module‘; //导入module.js内接口对象myjson的去不成语
console.log(myjson.varInt);  //100
console.log(myjson.varFloat); //11.02
console.log(myjson.varString); //‘abc‘

//otherUse.js
import {myjson.varInt,myjson.varFloat} as myjson form ‘./module‘;
console.log(myjson.varInt);
console.log(myjson.varFloat);

//onlyInt.js
import myjson.varInt as myjson form ‘./module‘;
console.log( myjson.varInt );

8.全局对象属性

全局对象属性,在浏览器环境指的是window对象,而Node.js指的是global对象。
在javascript语言中,所有的全局对象,所有的全局变量都是全局对象属性。如果var与function命令声明的变量是全局变量那么就属于全局对象属性。

var myName = ‘jewave‘;

console.log(window.myName);//浏览器环境下的全局变量
console.log(global.myName);//Node环境下的全局变量
console.log(this.myName);//通用环境下的全局变量

let herName = "hong";
console.log(window.herName); //undefined
时间: 2024-10-19 17:22:06

ES6第一部分的相关文章

ES6第一章

本章全部的整理自"ECMAScript 6 入门",希望大家看完能去买书,让这本开源的书不至于亏本! 本章总共5个题目,分别是: 1.let命令 2.块级作用域 3.const命令 4.顶层对象的属性 5. global对象 先说说我对这几个的个人理解,我觉得let将会逐步替代var,因为var存在易泄漏和不稳定的因素,加上var不能适应块级作用域,而对于const觉得会成为未来全局变量的命名规范,因为这样也符合编程思维,运算的时候添加但不修改,对于顶层对象,我觉得算是js踏出的第一步

练习es6第一步 环境搭建!

学习ES6首先需要有ES6开发环境,高版本的浏览器都实现了ES6的支持,但是有些低版本还是不支持es6的语法,所有,我们这个时候需要使用一个转换器来将ES6的语法转换成ES5的语法,我们这里使用Babel将ES6转换成ES5 初期工作简单点,直接建立一个index.html在index.html中引入es5.js,在分别创建es5.js和es6.js 首先开始第一步,初始化项目 1.打开黑窗口(window+r),进入项目目录,输入命令 npm init -y -y 表示默认同意,就不用来回的按

从零开始学ES6 -第一节(简介,块级作用域,let和const)

以下内容参考阮一峰老师的文章:http://es6.ruanyifeng.com/#docs/intro 一. ECMAScrpt 6简介 了解ES6转换器(bable,traceur) 申明变量的方法:var,let,const,function,import,class二. let和const命令 let命令 <!-- 声明的变量仅在块级作用域内有效 --> { let a=1; } a //报错 for(let i=0;i<10;i++){ } console.log(i) //报

ES6第一篇

1 //新的数字方面的方法 const I = 3.4893589; 2 console.log(Number.parseInt(I)); 3 console.log(Number.parseFloat(I)); 4 console.log(Number.isInteger(I));//是否为整数 5 console.log(Math.trunc(I)); //去除一个数的小数部分 6 //Math.sign方法用来判断一个数到底是正数.负数.还是零. 7 var val = Math.sign

ES6 第一章 let和const命令 具体参照http://es6.ruanyifeng.com

1.let类似于var用用来定义变量 1)let没有预解析,不存在变量提升 // var 的情况 console.log(foo); // 输出undefined var foo = 2; // let 的情况 console.log(bar); // 报错ReferenceError let bar = 2; 2)let定义的变量在其定义之前使用都会报错,称为暂时性死区(TDZ) var tmp = 123; if (true) { tmp = 'abc'; // ReferenceError

ES6入门一:ES6简介及Babel转码器

ES6简介 Babel转码器 Nodejs中使用ES6 WebPack中使用ES6及Babel转码插件 一.ES6简介与转码  1.1一个常见的问题,ECMAScript和JavaScript到底是什么关系? 1996年11月,JavaScript的创造者——Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望JavaScript这种语言能够成为国际标准. 1997年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言

ES6-01 2018-02-06

1.ES6第一天 查看资料 阮一峰:http://es6.ruanyifeng.com/#README a:2015年6月发布 b:目标:使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业及开发语言 c:代码转换工具https://babeljs.cn/ 原文地址:https://www.cnblogs.com/congfeicong/p/8424433.html

第一节:es6开发环境的搭建

第一章:es6开发环境的搭建 命令:npm init -y   生成package.json文件(依赖文件):项目结构如下: 全局安装 babel-cli  命令如下:npm install -g babel-cli, 还需本地安装babel-preset-es2015 和 babel-cli 然后在项目当中安装:npm install --save-dev babel-preset-es2015 babel-cli 将es6打包转化es5能识别的代码: babel src/index.js -

javascript的ES6学习总结(第一部分)

ES6(ESNext学习总结——第一部分) ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ECMA每年6月份,发布一个版本 2016年6月       ES6.1       ES7       ES20162017年6月       ES6.2       ES8       ES20172018年6月       ES...         ES9       ES2018 1.let.const用法 let 相当于之前的