es6新增语法

一、对象字面量增强写法:
var name = '小明'
var age = 18
var height = 175
var obj = { //直接把name、age、height给obj对象
    name,
    age,
    height
}
二、可变参数 "..." 的用法:(收集参数、展开数组)
//例1:
sum(...num){//可以接受多个参数,将参数都放进了一个数组
    var sum = 0;
    for(var i=0; i  < num.length; i++){
      sum+=num[i];
    }
    return sum;
}
//例2:
fun(a,b, ...args){//当不知道有多少参数传进来时,接收剩余的参数
  console.log(a)
  console.log(b)
  console.log(args)
}
//例3:
let arr1 = [1,2,3];
let arr2 = [4,5,6];
let arr = [...arr1, ...arr2];//[1,2,3,4,5,6]展开数组
三、in跟of的简洁遍历:
let list = [
{
  name:"老王",
  age:19
},
{
  name:"贾榜",
  age:20
},
{
  name:"波波",
  age:18
},
]
//方式一:in
for(let i in list){
  console.log(list[i].name)
}
//方式二:of
for(let item of list){
  console.log(item.name)
}
四、高阶函数:
1、filter:(过滤器)
var nums = [12, 354, 5267, 123, 23, 1, 13];
var newNums = nums.filter(function(n){
  return n < 100; //一定要返回一个boolean值
})
//计算后newNums 的值是[12, 23, 1, 13]
2、map:(映射:一个对一个)
var nums = [12, 23, 1, 13];
var newNums = nums.map(function(n){
  return n * 2; //每一次返回的是数组的新值
})
//newNums:[24, 46, 2, 26]
3、reduce:(汇总:一堆对一个)
var nums = [12, 23, 1, 13];
//求和运算
var sum = nums.reduce(function(preValue, num, index){//index是循环下标
  return preValue+num; //每一次preValue是函数上次返回的值
})
//也可以指定传入的第一次结果
var sum = nums.reduce(function(preValue, num, index){
  return preValue+num; //第一次的值是后面的0
}, 0)
//sum最后的值是:49
4、forEach:(迭代)
//将a数组中的数依次加上b数组中的数
let a = [1, 2, 3, 4, 5];
let b = [12, 42, 32, 41, 95];
a.forEach((item, index) => {
   a[index] = item + b[index];
});
//a:[13, 44, 35, 45, 100]
五、" ` "模板字符串的用法:

优点1:里面的字符串可以换行
优点2:字符串中可以插入变量:

var x = 1, y = 2;

`${x} + ${y} = ${x + y}`;
六、箭头函数 =>:
1、基础用法:
//-------传统写法-------
function sum(num1, num2){
  return num1 + num2
}
//-------箭头函数---------
let sum = (num1, num2) => {
  return num1 + num2
}
//或者简写
let sum = (num1, num2) => num1+num2 //如果函数体只有一行代码可以直接这样简写,会自动返回。如果没有返回值则返回undefined
//如果只有一个参数可以不要括号
let add = num => num+num
2、箭头函数中的this指的是谁:

向外层作用域中,一层层查找this,直到有this的定义

七、字符串方法startsWith、endsWith
let url1 = "git://abcd.com";
url.startsWith("http://") //false
let url2 = "swiper.png";
url.endsWith('.png') //true(可以用来判断扩展名确定文件类型)
八、面向对象:
1、类的定义:

老版本写法:

function User(name, age) {
    this.name = name;
    this.age = age;
}
User.prototype.showName = function () {
    console.log(this.name);
};
User.prototype.showAge = function () {
    console.log(this.age);
};
let user1 = new User("小敏", "20");
user1.showName();
user1.showAge();

es6写法:

class User {
   constructor(name, age) {
      this.name = name;
      this.age = age;
   }
   showName() {
      console.log(this.name);
   }
   showAge() {
      console.log(this.age);
   }
}
let user1 = new User("小敏", "20");
user1.showName();
user1.showAge();

老版写法的缺点:
①类跟构造函数不分(User既是类又是构造函数)
②一个类的写法散开了(强行用prototype凑出的一个类)

2、继承:

老版写法:

function VipUser(name, age, level) {
   User.call(this, name, age);
   this.level = level;
}
VipUser.prototype = new User();
VipUser.prototype.constructor = VipUser;
VipUser.prototype.showLevel = function () {
   console.log(this.level);
};

es6写法:

class VipUser extends User {
   constructor(name, age, level) {
      super(name, age);
      this.level = level;
   }
   showLevel() {
      console.log(this.level);
   }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354