var 關鍵字
// a.存在變數提公升
console.
log(score)
;var score =99;
// b.函式作用域
for(
var i=
0;i<
10;i++
)console.
log(i)
;// c.可重新宣告
var score =98;
console.
log(score)
;// d.可重新賦值
score =97;
console.
log(score)
;
let 關鍵字// a.無變數提公升
console.
log(score)
;let score =99;
// b.塊級作用域
for(
let i=
0;i<
10;i++
)console.
log(i)
;// 報錯
// c.不可重新宣告
let score =98;
// 報錯
// d.可重新賦值
score =97;
console.
log(score)
;
const 關鍵字// #宣告必須賦值(常量一般全部大寫)
constpi;
// 報錯
console.
log(pi)
;// a.無變數提公升
console.
log(pi)
;// 報錯
constpi=
3.1415926
;// b.塊級作用域
console.
log(
shape);
// 報錯
// c.不能重複宣告
constpi=
3.15
;// 報錯
// d.不可重新賦值pi=
4;// 報錯
console.
log(pi)
;
、物件解構賦值物件解構賦值:將物件屬性的值
賦給變數;
let』s coding:let obj =
// es5:解構賦值
let name = obj.name ;
let age = obj.age ;
let *** = obj.*** ;
console.
log(name,age,***)
;// es6:解構賦值
// 1.自定義賦值
let= obj;
console.
log(name1,age1,***1)
;// 2.全寫
let= obj;
console.
log(name,age,***)
;// 3.簡寫(變數名需與物件屬性名一致)
let= obj;
console.
log(name,age,***)
;// 4.預設值
let= obj;
console.
log(name,age,***,scories)
;// 5.預設值在編譯時就賦值好了,在執行時會將物件的屬性值重新賦給變數
let= obj;
console.
log(age)
;// 18
// 補充:...another 表示出了name 屬性之外的所有屬性封存在另乙個物件another中
let= obj;
console.
log(another)
;
陣列解構賦值陣列解構賦值:將陣列元素值
依次賦值給變數;
let』s coding:let array =[1
,2,3
,4];
// es5:陣列解構賦值
let one = array[0]
;let two = array[1]
;let three = array[2]
;let four = array[3]
; console.
log(one,two,three,four)
;// es6:陣列解構賦值
// 1.依次賦值
let= array ;
console.
log(one,two,three,four)
;// 2.多餘變數
let= array;
console.
log(one,two,three,four,five)
;// five:undefined
// 3.預設值
let= array;
console.
log(one,two,three,four,five)
;
解構賦值&&函式
let』s coding:
// es5:
// 宣告函式+多個形參
function
fun(name,age,***)
fun(
'zs',18
,'男');
// 物件引數
function
fun(obj)
fun();
// es6:
function
fun(
)fun()
;
let name =
'zs'
;let age =18;
let *** =
'男';
// es5:物件成員簡寫
let obj =};
console.
log(obj)
;// es6:物件成員簡寫
let oo =
};
新增模板字串:``,保留原字串格式;let』s coding:
// es5:
let str = "
onetwo three four,
five six seven;
";// 報錯
// es6:
let author =
"八";
let str =
` one
$two three four,
five six seven;
`;
console.
log(str)
;// 函式
function
fun();
console.
log(
`數字:$`
);
展開運算子:...
物件展開運算子
let』s coding:
let song =
let business =
let people =
console.
log(people)
;
陣列展開運算子
let』s coding:
// 陣列拼接
let index =[1
,2,3
];let score =
[...array,60,
70,80]
; console.
log(score)
;let sum =
[...index ,
...score]
; console.
log(sum)
;// 求最值
let max = math.max.
(math,sum)
; console.
log(max)
; max = math.
max(
...sum)
; console.
log(max)
;
新增資料型別 set :同陣列存放資料,但不存放重複元素;
暫無
結語:今日事,今日畢;明日事,何其多。贈詩:
明日復明日,明日何其多。
我生待明日,
萬事成蹉跎。
世人若被明日累,
春去秋來老將至。
朝看水東流,
暮看日西墜。
百年明日能幾何?
請君聽我《明日歌》;
ES6新增特性
let 1.let宣告的變數不會掛在window中,不會像var宣告的變數一樣造成全域性變數的汙染 2.新增了乙個塊級作用域 以前只有函式作用域,全域性作用域 3.let是不允許重複宣告 4.let不會有宣告提前 var num 15 全域性變數 console.log num 15 console...
ES6新增特性
1 變數定義 const let 2 解構 3 箭頭函式 核心 this的指向 4 模板字面量 5 spread rest 物件展開 6 子符串 陣列新增方法 console.log str.includes de true,字串是否包含de console.log str.endswith ef ...
ES6新增語法
es6中新增的宣告變數的方式 let關鍵字用來宣告變數,類似於var,但是使用let宣告的變數有以下幾點特性 1.不存在變數提公升 2.暫時性死區 3.不允許重複宣告,同一作用域內只能宣告一次 4.新增的塊級作用域 for 作用域a 迴圈的應用 const關鍵字用來宣告常量,其使用規則除了宣告之後不...