1. 程式人生 > >資料型別與es6 複習

資料型別與es6 複習

之前做一個專案,老是不繫統瞭解,年底做完了,總結一下
參考:es6小技巧
資料型別

1:資料型別

六種 es6增加了第七種symbol
數值number
字串 string
布林值 boolean
undefined 未定義
null 空值
物件 object

數值,字串,布林值 為原始型別
物件為合成型別

物件又分三個子型別
物件 object
陣列 array
函式 function

2:判斷資料型別

js有三種方法,判斷資料型別

typeof 運算子
instanceof
Object.prototype.toString

(1)typeof 運算子
數值,字串,布林值 返回 number,string,boolean;

函式返回function

underfined 返回 underfined;

物件返回object

null 返回object

(2)instanceof 運算子
var o = {};
var a = [];
o instanceof Array;
a instanceof Array;
var v = new Vehicle();
v instanceof Vehicle;
Vehicle.prototype.isPrototypeOf(v);

(3) Object.prototype.toString();
返回一個物件的字串形式,
var o1 = new Object();
o1.toString();
var o2 = {a:1};
o2.toString();

3:es6 技巧

(1)template literals 模板字串
以反引號開始 通過${變數}
var fName = 'Peter', sName = 'Smith', age = 43, job= 'photographer';
var a = 'Hi, I\'m ' + fName + ' ' + sName + ', I\'m ' + age + ' and work as a ' + job + '.';
var b =
Hi, I’m

f N a m e { sName }, I’m a g e a n d w o r k a s a { job }.`;
(2)塊級作用域
let
const
(3) spread 擴充套件運算子
(4) Destructuring解構
(5)Number Literals 數字字面量
number 在0後加o宣告是八進位制
Number(0o35);
(6)for..of loops 迴圈
let a = [1,2,3,4,5];
for(var val of a){
console.log(val)
}
for(var val in a){
console.log(idx)
}
let val = a[idx];
for…in遍歷拿到的x是鍵(下標)。而for…of遍歷拿到的x是值

(7)箭頭函式
this的繫結是語義上的就是指當前的,而不是動態的
var foo = function( a, b ) {
return a * b;
}
let bar = ( a, b ) => a * b;
(8)動態屬性名稱
let city = ‘sheff’;
let a = {
[city+’population’]:3000
};
a[city+’county’] = ‘south York’;
console.log(a);