博客
关于我
ES6——类的基本语法
阅读量:528 次
发布时间:2019-03-08

本文共 1922 字,大约阅读时间需要 6 分钟。

概念: 作为创建对象的模板,通过class关键字,来定义类

语法示例:

class Point {       constructor(name,val){           this.name = name;        this.age = "18";        this.val = val;        this.setData(val);    }    eat(){           console.log(`我叫${     this.name}`);    }}  var t = new Point("李现","诸葛大力"); console.log(t.name); t.eat();

设置和保存数据的两种写法

class Point {       constructor(name,val){           this.name = name;        this.age = "18";        this.val = val;    }    eat(){           console.log(`我叫${     this.name}`);    }	// 写法一	 set prop(value){   	      console.log(`我的值是${     value}`);   	 }	get prop1(){   	     return "哈哈";	 }		// 写法二	setData(value){   	    this.val = value;	     console.log(this.val);	}	getData(){   	    return this.val;	}}var t = new Point("李现","诸葛大力");t.prop = 1234;console.log(t.prop);t.setData("我是新来的");console.log(t.getData());

属性表达式:

{   	//属性表达式 就是把下边这串代码	class Person {   	    constructor(sex){   	          this.sex = sex;	          this.hobby = "女"	    }	    shopping(){   	        console.log("天生会逛街")	    }	}		let p = new Person();	p.shopping();		//更换为	let shopping = "shop";	//*	class Person{   		constructor(sex) {   			 this.sex = sex;			 this.hobby = "女";		}					[shopping](){   	//*			console.log("一个省钱的春节");		}	}			   	let person = new Person();	person.shop();  //*}

class表达式: 不常用,了解即可

{   	const MyClass = class Me {   		//这个区域内使用Me,出了这个区域,使用MyClass	} }

严格模式:

  1. script标签中第一行写"use strict",表明下面的代码使用严格模式(或者是js文件中第一行)
  2. 使用代码的定义,使用更加规范, 避免一些诡异的运行行为
  3. 在后续的Es特性和一些Angular等JS框架中,要求必须在严格模式下运行
  4. 使代码的编译和运行更加高效

对变量的影响:

  1. 变量必须要先声明再使用
  2. 不可以使用任意保留字/关键字作为变量名
  3. 严格模式不再允许用户删除变量 ( delete )

对对象的影响:

  1. 对只读属性 赋值 会抛出异常
  2. 对不可配置的属性使用 delete操作符会抛出异常
  3. 对不可扩展的对象添加属性,会抛出异常
  4. 不可以使用with简化对象访问

对函数的影响:

  1. 在普通函数当中,不允许使用this引用当前的window对象
  2. 在严格模式中,函数的参数必须是唯一的(也就说不允许有重复的)
  3. 在严格模式中,arguments对象的值,和形参的值是完全独立的,虽然修改形参的值也会反映到arguments对象中。

注意点:

  1. 在ES6中,默认的就是严格模式,所以不需要使用 “use strict” 来指定运行模式
  2. 不存在变量提升
  3. 在类和模块{}的内部,默认就是严格模式,其实未来所有的代码都是运行在模块中
    所以说ES6实际上把整个语言升级到了严格模式

转载地址:http://bawiz.baihongyu.com/

你可能感兴趣的文章
mysql5.7 for windows_MySQL 5.7 for Windows 解压缩版配置安装
查看>>
Webpack 基本环境搭建
查看>>
mysql5.7 安装版 表不能输入汉字解决方案
查看>>
MySQL5.7.18主从复制搭建(一主一从)
查看>>
MySQL5.7.19-win64安装启动
查看>>
mysql5.7.19安装图解_mysql5.7.19 winx64解压缩版安装配置教程
查看>>
MySQL5.7.37windows解压版的安装使用
查看>>
mysql5.7免费下载地址
查看>>
mysql5.7命令总结
查看>>
mysql5.7安装
查看>>
mysql5.7性能调优my.ini
查看>>
MySQL5.7新增Performance Schema表
查看>>
Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
查看>>
Webpack 之 basic chunk graph
查看>>
Mysql5.7版本单机版my.cnf配置文件
查看>>
mysql5.7的安装和Navicat的安装
查看>>
mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
查看>>
Mysql8 数据库安装及主从配置 | Spring Cloud 2
查看>>
mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
查看>>
MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
查看>>