模板直面量
javascript
const book = {
name: '你爱的书籍为'
};
console.log(`${book.name}`);//注意使用``来输出name的属性值
-
我们可以省去function关键字,只用=>来表示
javascriptlet circle = r => { const name = 3.14; const area = name * r * r; return area; } console.log(circle(2));
-
还可以省去return
javascript
const name = r =>
3.14 * r * r;
console.log(name(4));
-
如果不接任何的值,可以用一对空的圆括号,在ES5中经常使用
javascript
const hello = () =>console.log('hello');
hello()//进行调用
-
arguments对象它是一个数组,包含函数被调用时传入的参数,即使不知道函数的,名称也可以动态获取这些参数
-
apply()函数额可以将数组转变为参数
javascript
function sum (x,y,z){
return x + y + z ;
}
let num = [3,5,6];
console.log(sum(...num));
//console.log(sum.apply(undefined,num));效果和上边一样
-
调用sum方法可以将传入的参数用(....)来表示
-
展开式运算符(...)也可以替代arguments,当作剩余的参数使用
javascript
function rest(X , Y , ...a){
return (x + y) * a.length;
}
console.log(rest(1,2,"hello",5));
上下代码效果一致
function rest (x , y){
let a = Array.prototype.slice.call(argument,2);
return (x + y) * a.length;
}
javascript
let [x , y ] = [ ' a ' , ' b ' ] ;
上下的代码相同
let x = 'a';
let y = 'b';
----------------------------------
数组解构可以进行值的互换,而不需要创建临时变量
[x,y] = [y,x]
上下的代码相同
let temp = x ;
x = y ;
y = temp ;
-
属性简写功能,
javascript
let [x,y] = ['a' , 'b'];
let obj = { x , y };
console.log(obj);
-----------------------
let x = 'a';
let y = 'b';
let obj2 = { x: x,y: y };
console.log(obj2)
//输出的结果是,{x:"a" , y: "b"}
-
简写方法名
javascript
const name = {
name = 'absc',
printHello (){
console.log('Hello');
}
};
console.log(name.printHello());
这个像java一样定义方法
--------------------------------
上下的代码一致
let name = {
name: 'absds',
printHello: function name (){
console.log('Hello');
}
};
console.log(name.printHello());
-
更简洁的声明类的方式
javascript
function Book(title, pages, isbn) { // {1}
this.title = title;
this.pages = pages;
this.isbn = isbn;
}
Book.prototype.printTitle = function() {
console.log(this.title);
};
我们可以用 ES2015 把语法简化,如下所示。
class Book { // {2}
constructor(title, pages, isbn) {
this.title = title;
this.pages = pages;
this.isbn = isbn;
}
printIsbn() {
console.log(this.isbn);
}
}
-
属性存取器
javascript
class Person {
constructor(name) {
this.name = name;
}
get name() {
return this.name;
}
// set name(value) {
// this.name = value;
// }
}
let main = new Person('小明');[1]
console.log(main.name);
-
constructor是JS的构造器和java的构造器性质一致,有函数名与构造名一致的功能,故赋值为如[1]所示
-
get 和 set 是JS的关键字,在函数名前面加上get 或set 关键字