변수 선언 방법: 1. "var 변수 이름;" 구문을 사용합니다. 2. 함수 명령을 사용합니다. 3. "const 변수 이름;" 구문을 사용합니다. let 명령, "let "변수 이름" 구문; 5. import 명령을 사용하십시오. 6. class 명령을 사용하십시오.
이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.
ES5에는 변수를 선언하는 방법이 var
명령과 function
명령 두 가지뿐입니다. var
命令和function
命令。
ES6 除了添加let
和const
命令,还有两种声明变量的方法:import
命令和class
ES6 let
및 const
명령을 추가하는 것 외에도 변수를 선언하는 두 가지 방법이 있습니다. import
명령과 클래스명령.
그래서 ES6에는 변수를 선언하는 방법이 총 6가지가 있습니다.
(1) var 명령var a ; //undefined var b = 1;
(2) 함수 명령
function add(a) { var sum = a + 1; return sum; }
(3) cosnt 명령
const a; //报错,必须初始化 const b = 1;
전역 범위나 함수 내에서 상수를 선언할 수 있습니다. 하지만 초기화되어야 합니다상수
상수는 다른 변수나 함수와 같은 이름을 가질 수 없습니다. 해당 범위에서
(4) let command
let a; //undefined let b = 1; function add(b) { let sum = b + 1; return sum; } let c = add(b);
(5) import command
1. ES6에는 자체 모듈 시스템이 도입되었습니다. 수출을 통한 수출, 수입을 통한 수입.
2. CommonJS와 달리 모듈의 참조를 가져오며, 사용되기 전까지는 실제로 값을 가져오지 않습니다.
3 달성할 수도 있습니다.let student = [ { name: 'xiaoming', age: 21, }, { name: 'xiaohong', age: 18 } ] export default student; // 这种导出方式,你可以在import时指定它的名称。
import StudentList from './student.js'; //指定名称 console.log(StudentList[0].name); //xiaoming
toString () {}은 toString: function () {}
Point.prototype을 계속 사용할 수 있습니다constructor默认返回实例对象(this),完全可以指定返回其他的对象。
必须用new调用
不存在变量提升
当用一个变量去接受class时,可以省略classname
es6不提供私有方法。
2:使用extends继承
class ThreeDPoint extends Point { constructor (x, y, z) { console.log(new.target); //ThreeDPoint super(x, y); this.z = z; } toString () { return super.toString() + ',' + this.z; } static getInfo() { console.log('static method'); } get z() { return 4; } set z(value) { console.log(value); } } ThreeDPoint.getInfo(); // "static method" let ta = new ThreeDPoint(2,3,4); console.log(ta.toString()); //2,3,4 console.log(ta.z); // 4 ta.z = 200; // 200 console.log(Object.getPrototypeOf(ThreeDPoint)); //Point
constructor中必须调用super,因为子类中没有this,必须从父类中继承。
子类的__proto__属性总是指向父类
子类的prototype属性的__proto__总是指向父类的prototype
Object.getPrototypeOf()获取父类
super作为方法只能在constructor中
super作为属性指向父类的prototype.
在constructor中使用super.x = 2,实际上this.x = 2;但是读取super.x时,又变成了父类.prototype.x。
原生构造函数是无法继承的。
get set 方法可以对属性的赋值和读取进行拦截
(静态方法不能被实例继承。通过static声明
静态属性只能 ThreeDPoint.name = “123” 声明 (与static没什么关系)
【推荐学习:javascript高级教程】
위 내용은 es6에서 변수를 선언하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!