1. 程式人生 > 遊戲資訊 >〖授權轉載〗cp/梟羽

〖授權轉載〗cp/梟羽

1、let 宣告變數

// var宣告的變數往往會越域
// let宣告的變數有嚴格區域性作用域
{
var a = 1;
let b = 2;
}
console.log(a); // 1
console.log(b); // ReferenceError: b is not defined

/ / var 可以宣告多次
/ / let只能宣告一次
var m = 1
var m = 2
let n = 3
/ / let n = 4
console.log(m)   / / 2
console.log(n)   / / Identifier 'n' has already been declared

/ / var 會變數提升(JS解析器會把var宣告的變數提升到,當前作用域最前面(只提升宣告,不提升賦值))
/ / let不存在變數提升


console.log(x);   / / undefinedvar
x = 10;
console.log(y);   //ReferenceError: y is not definedlet
y = 20;

2、const 宣告常量(只讀變數)

  • 宣告之後不允許改變
  • 一但宣告必須初始化,否則會報錯

const a = 1;
a = 3;   //Uncaught TypeError: Assignment to constant variable.

3、解構表示式

3.1 陣列解構

let arr = [1,2,3];
//以前我們想獲取其中的值,只能通過角標。ES6可以這樣:
const [x,y,z] = arr;

// x, y,z將與arr中的每個位置對應來取值
//然後列印
console.log(x,y,z);

3.2 物件解構

const person = {
name: "jack",age:21,
language: [ 'java', 'js ', 'css']
}
//解構表示式獲取值,將person裡面每一個屬性和左邊對應賦值
const { name,age,language } = person;
//等價於下面
/ / const name = person. name;
// const age = person. age;
// const language = person.language;
//可以分別列印
console.log(name);
console.log( age);
console.log(language);

//擴充套件:如果想要將name 的值賦值給其他變數,可以如下,nn是新的變數名
const { name: nn,age,language } = person;
console.log(nn);
console.log(age);
console.log(language);

4、字串擴充套件

4.1 幾個新的 API

ES6 為字串擴充套件了幾個新的 API:
- `includes()`:返回布林值,表示是否找到了引數字串。
- `startsWith()`:返回布林值,表示引數字串是否在原字串的頭部。
- `endsWith()`:返回布林值,表示引數字串是否在原字串的尾部。

let str = "hello.vue";
console.log(str.startswith( "hello")); //true
console.log(str.endswith(".vue" )); //true
console.log(str.includes( "e")); //true
console.log(str.includes ( "hello"));//true

4.2 字串模板

模板字串相當於加強版的字串,用反引號 `,除了作為普通字串,還可以用來定義多行
字串,還可以在字串中加入變數和表示式。

// 1、多行字串
let ss = `
<div>
<span>hello world<span>
</div>
`
console.log(ss)
// 2、字串插入變數和表示式。變數名寫在 ${} 中,${} 中可以放
入 JavaScript 表示式。
let name = "張三";
let age = 18;
let info = `我是${name},今年${age}了`;
console.log(info)
// 3、字串中呼叫函式
function fun() {
return "這是一個函式"
}
let sss = `O(∩_∩)O 哈哈~,${fun()}`;
console.log(sss); // O(∩_∩)O 哈哈~,這是一個函式