JavaScript中的模板直面量

模板直面量

  • const book = {
                name: '你爱的书籍为'
            };
            console.log(`${book.name}`);//注意使用``来输出name的属性值
  • 我们可以省去function关键字,只用=>来表示

     let circle = r => {
                const name = 3.14;
                const area = name * r * r;
                return area;
            }
            console.log(circle(2));
  • 还可以省去return

  • const name = r => 
        3.14 * r * r;
        console.log(name(4));
  • 如果不接任何的值,可以用一对空的圆括号,在ES5中经常使用

  • const hello = () =>console.log('hello');
    hello()//进行调用
  • arguments对象它是一个数组,包含函数被调用时传入的参数,即使不知道函数的,名称也可以动态获取这些参数

  • apply()函数额可以将数组转变为参数

  • 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,当作剩余的参数使用

  • 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;
    }
  • let [x , y ] = [ ' a '  , ' b ' ] ;
    上下的代码相同
    let x = 'a';
    let y = 'b';
    ----------------------------------
    数组解构可以进行值的互换,而不需要创建临时变量
    [x,y] = [y,x]
    上下的代码相同
    let temp = x ;
    x = y ; 
    y = temp ;
  • 属性简写功能,

  • 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"}
  • 简写方法名

  • 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());
  • 更简洁的声明类的方式

  • 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); 
     } 
    }
  • 属性存取器

  • 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 关键字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值