1.js中的變數宣告:const和let
var a = '全域性變數';//
console.log(a); // 全域性變數
從上面可以看出let宣告的是乙個區域性變數,僅在當前的塊級作用域有效,再來說說const,const會宣告乙個常量(即宣告後不可改動的量):
const a = 0;
a = 10;//報錯,因為a已經是常量0了,不可去修改它的值
const boy =
boy.name = '小亮';// 正確
boy = ;// 報錯
在使用let和const時要注意,作用域都只在乙個區塊內有效,同時const在宣告時必須要賦值,不然會報錯。
2.箭頭函式
es6中的箭頭函式實際上就是普通函式寫法的簡化版,用括號包引數,後面跟乙個=>,然後跟函式主體部分,下面是箭頭函式的寫法:
//es5寫法
var num = function(x,y);
//箭頭函式寫法
var num = (x,y)=> x + y;
3.模板字串
一般情況下在拼接模板字串的時候這麼來寫**:
使用+對字串進行拼接,,然而對es6來說,我們可以將表示式寫進字串中進行拼接,用${}界定表示式,然後用反引號``來搞定:
4.函式預設引數值
// es6之前,當未傳入引數時,text = 'default';
function printtext(text)
// es6;
function printtext(text = 'default')
printtext('hello'); // hello
printtext();// default
5.spread / rest 操作符
spread / rest 操作符指的是…,
當被用於迭代器中時,它是乙個 spread 操作符:
function foo(x,y,z)
let arr = [1,2,3];
foo(...arr); // 1 2 3
當被用於函式傳參時,是乙個 rest 操作符:當被用於函式傳參時,是乙個 rest 操作符:
function foo(...args)
foo( 1, 2, 3, 4, 5); // [1, 2, 3, 4, 5]
6.物件超類
es6 允許在物件中使用 super 方法:
var parent = }
var child = }
object.setprototypeof(child, parent);
child.foo(); // hello from the parent
// hello from the child
7.for…of迴圈 和 for…in迴圈
for…of 用於遍歷乙個迭代器,如陣列:
let letter = ['a', 'b', 'c'];
letter.size = 3;
for (let letter of letters)
// 輸出結果: a, b, c
for…in 用來遍歷物件中的屬性:
let stu = ['sam', '22', '男'];
stu.size = 3;
for (let stu in stus)
// 輸出結果: sam, 22, 男
8.es6中的類class student
study()
static read() }
console.log(typeof student); // function
let stu = new student(); // "i'm a student."
stu.study(); // "study!"
stu.read(); // "reading now."
9.二進位制和八進位制字面量
es6 支援二進位制和八進位制的字面量,通過在數字前面新增 0o 或者0o 即可將其轉換為八進位制值:
let ovalue = 0o10;
console.log(ovalue); // 8
let bvalue = 0b10; // 二進位制使用 `0b` 或者 `0b`
console.log(bvalue); // 2
10.物件和陣列解構// 物件
const student =
// 陣列
// const student = ['sam', 22, '男'];
// es5;
const name = student.name;
const age = student.age;
const *** = student.***;
console.log(name + ' --- ' + age + ' --- ' + ***);
// es6
const = student;
console.log(name + ' --- ' + age + ' --- ' + ***);
記錄學習過程~ ES6新特性 學習總結
let s hello world s.startswith hello true s.endswith true s.includes o true這三個方法都支援第二個引數,表示開始搜尋的位置。let s hello world s.startswith world 6 true s.endsw...
ES6中常用的10個新特性講解
ecmascript 6 es6 目前基本成為業界標準,它的普及速度比 es5 要快很多,主要原因是現代瀏覽器對 es6 的支援相當迅速,尤其是 chrome 和 firefox 瀏覽器,已經支援 es6 中絕大多數的特性。1.不一樣的變數宣告 const和let var x 全域性變數 conso...
ES6中常用的10個新特性講解
ecmascript 6 es6 目前基本成為業界標準,它的普及速度比 es5 要快很多,主要原因是現代瀏覽器對 es6 的支援相當迅速,尤其是 chrome 和 firefox 瀏覽器,已經支援 es6 中絕大多數的特性。es61.不一樣的變數宣告 const和let var x 全域性變數 co...