ES6 随笔 3-数据类型

1.String

许多字符串的api对Unicode码点增加支持
模板字符串(解决了字符串长拼接的一大坨的问题)

//0.jQuery(Es5)存在的问题
$('#result').append(
  'There are <b>' + basket.count + '</b> ' +
  'items in your basket, ' +
  '<em>' + basket.onSale +
  '</em> are on sale!');
//ES6 模板字符串 
//1.作为跨多行的普通字符串(保留缩进格式)
$('#result').append(`
  There are <b>${basket.count}</b> items
   in your basket, <em>${basket.onSale}</em>
  are on sale!
`);
//2.嵌入变量,${}内支持任何的js表达式
let obj = {x: 1, y: 2};
`${obj.x + obj.y}`
//3.甚至可以嵌套使用
const tmpl = addrs => `
  <table>
  ${addrs.map(addr => `
    <tr><td>${addr.first}</td></tr>
    <tr><td>${addr.last}</td></tr>
  `).join('')}
  </table>
`;
const data = [
    { first: '<Jane>', last: 'Bond' },
    { first: 'Lars', last: '<Croft>' },
];
console.log(tmpl(data));
//4.其他(通过模板字符串编译生成一个模板的实例、标签模板...)

2.Number

新增了一些进制数转换api

3.对象

允许在{}声明对象时候,直接写入变量和函数(属性名也可以直接写,即使用字面量直接声明属性名)
简写的对象函数,不可以作为构造函数,抛出异常

const obj = {
  f() {
    this.foo = 'bar';
  }};

new obj.f() // 报错

3.1 简洁表达式

const foo = 'bar';
const obj = {foo};	//obj == {foo:'bar'}

const obj1 = {'bar'}	//报错 
//顺带一提,vue中的data所声明的属性不适用简洁表达式
const obj2 = {this.dataAttribiute}	//报错(设,dataAttribute为data声明属性)

3.2 属性名表达式

属性名的表达式如果是一个对象,将自动转成字符串的[object Object]

3.3 super

super关键字,指向对象的原型对象

4.运算符

扩展:指数运算符、短路运算、以及一些逻辑运算符

5.Set、Map数据结构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肯尼思布赖恩埃德蒙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值