es6記錄

3.5?es6

1、const正則表達式

一、凍結對象數組

const foo = Object.freeze({});

// 常規模式時,下面一行不起做用;
// 嚴格模式時,該行會報錯
foo.prop = 123;

 二、es6聲明變量的6種方法spa

var   function   let   const   class   importcode

2、變量的解構賦值(數組,對象,字符串)對象

一、數組取值由次序決定blog

// 報錯
let [foo] = 1;
let [foo] = false;
let [foo] = NaN;
let [foo] = undefined;
let [foo] = null;
let [foo] = {};

容許指定默認值。字符串

let [foo = true] = [];
foo // true

注意,ES6 內部使用嚴格相等運算符(===),判斷一個位置是否有值。因此,若是一個數組成員不嚴格等於undefined,默認值是不會生效的。it

let [x = 1] = [undefined];
x // 1

let [x = 1] = [null];
x // null

二、對象取值由位置決定io

對象的解構賦值的內部機制,是先找到同名屬性,而後再賦給對應的變量。真正被賦值的是後者,而不是前者。

let { foo: baz } = { foo: "aaa", bar: "bbb" };
baz // "aaa"
foo // error: foo is not defined

屬性:變量

p是模式,不是變量,所以不會被賦值。

let obj = {
  p: [
    'Hello',
    { y: 'World' }
  ]
};

let { p: [x, { y }] } = obj;
x // "Hello"
y // "World"

若是p也要做爲變量賦值,能夠寫成下面這樣。

let obj = {
  p: [
    'Hello',
    { y: 'World' }
  ]
};

let { p, p: [x, { y }] } = obj;
x // "Hello"
y // "World"
p // ["Hello", {y: "World"}]

三、解構賦值的規則是,只要等號右邊的值不是對象或數組,就先將其轉爲對象。因爲undefinednull沒法轉爲對象,因此對它們進行解構賦值,都會報錯。

let { prop: x } = undefined; // TypeError
let { prop: y } = null; // TypeError

 3、

字符串對象共有4個方法,能夠使用正則表達式:match()replace()search()split()

match() 返回

 

正則表達式  /i    忽略大小寫

相關文章
相關標籤/搜索