ES6基础知识点

ES6基础知识点

一. let 、var、const

1. let /const和 var 的区别

  • 不存在变量提升
console.log(c)
var c = 'c'
//var由于预解析,所以这段代码相当于:
var c;
console.log(c)
c = 'c' //输出结果为undefined
/***************************************/
//如果把var换成let
console.log(c)
let c = 'c'
//报错信息为:Uncaught ReferenceError: c is not defined,c未定义
  • 同一个作用域下不能重复定义同一个名称
var a = 1;
var a = 100;
console.log(a)//输出100
/***************************************/
let a = 1;
let a = 100;
console.log(a)//Uncaught SyntaxError: Identifier 'a' has already been declared

经常会有这样的题,一不留神就会看错

let a = 1;
 a = 100;//这是赋值操作,不是重复定义
console.log(a)//输出100
  • 有着严格的作用域
function fun(){
   var n = 10;
   if(true){
   	var n = 100;
   };
   console.log(n)
};
fun() //输出100,var属于函数作用域 > 函数外部拿不到,内部任何地方都能拿到 <
/****************************************************/
function fun(){
   letn = 10;
   if(true){
   	let n = 100;
   };
   console.log(n)
};
fun()//输出10,let属于块级作用域,一个大括号可以看做一个块

2. const注意点

声明一个只读的常量,一旦声明,常量的值就不能改变

const w = 'abc'
w = 'shit' //报错,不能修改
const a;//报错,const 一定要初始化,不能只声明不赋值
//下面这种情况,涉及地址引用
const obj = {};
obj.name = 'xiaoming';
console.log(obj)//输出结果为{name:"xiaoming"}

二. 箭头函数

箭头函数详解

三. set和map

set类似于数组 成员是唯一的

//基础用法
let s = new Set();
s.add(1).add(2).add(3);
//面试常见题(去重)
var arr = [1,2,2,3,3,4,5,6,7,6,3,2,4,3,2,3,13,12,3]
//1.循环遍历
//2.使用set方法
var arr2 = [...new Set(arr)]

map 类似于对象

//基础用法
let m = new map();
m.set('key','value').set('key','value');
//遍历
for(let [key,value] of m){
console.log([key,value])
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值