ES6標準文法の研究ノート

研究ノート:[ポニーアートES6 / ES2015エントリー(゜-゜)_ビープビープマイルマイル説明するZU RO乾杯〜-bilibiliを

01 letコマンド

次の手順では、ES5が使用されているvar可能が、ES6のためのlet実現可能。

1.は実現可能な範囲外になります
if (true) {
	let i = 1;
}
console.log(i);  // 变量i未找到
定義が不可能な繰り返し2
var i = 0;
switch(i) {
	case 0:
		let value = "hello";
		break;
	case 1:
		let value = "world";  // 重复定义错误
		break;
}

定義された02のconst定数

1.定数自体を再割り当てすることはできません。
const data = 10;
console.log(data);

data = 100;  //错误:常量不可改变
2.定数自体もはや割り当てをするが、定数内の要素は、再割り当てすることができます。
const list = [1,2,3];
console.log(list);

// list = [2,3,4];  // 错误

list[0] = 100;  // 数组的值可以改变。
console.log(list);
あなたはポップ、プッシュすることができます
list.push(99);
console.log(list);
list.pop()
console.log(list);

03進変換

図1は、直接進数xを定義することができます
console.log(0b10); // 10的二进制:2(0b表示2进制)
console.log(0o10); // 10的八进制:8(0o表示8进制)
console.log(0x10); // 10的16进制:16(0x表示16进制)

console.log(0b11 === 3); //true
console.log(0o10 === 8); //true
console.log(0x10 === 16);//true
2進変換

10 1010バイナリ
オクタル10:スイッチ10第1の2値1010次に進に変換- > 12である
10から16進:16 1010へ進- > A
5飼料10。システム:10/5 = I 2 0 - > 20

let num = 10;
console.log(num.toString(2)); //2进制转换
console.log(num.toString(8)); //8进制转换
console.log(num.toString(16));//16进制转换
console.log(num.toString(5)); //5进制…

文字列に埋め込まれた04

1.アンチ単一引用符は `テンプレートは、文字列を定義するために使用されます
let name = "Koma"
let mystr1 = "你好,${name}!"  // 不起作用
let mystr2 = `你好,${name}!再见。`  // 起作用

console.log(mystr1)
console.log(mystr2)
2.解析文字列テンプレート

ラベルテンプレート(タグ付けされたテンプレート)を使用すると、解析テンプレート文字列にメソッドを使用することができます。

  • メソッドの名前は、カスタムです。
  • メソッドのパラメータの最初のパラメータは、あなたが通り過ぎるの後ろにいくつかのパラメータは、文字列配列で${}示された他の変数。
  • この方法は、文字列または別の方法をあなたに処理を戻してもよいです。

例1:

let name = "Koma"
//strings是一个字符串数组
// ...args为剩余参数(展开运算符)
function tagged(strings, ...args){
    console.log(strings)  // ["你好,", "!再见。"]
    console.log(args)  // ['Koma']
}
tagged`你好,${name}!再见。`

写法2:
let name = "Koma"
// 函数名tagged是随便起的
// 在确定只有一个参数时,直接用一个参数person即可
function tagged(strings, person){
    console.log(strings);  // ["你好,", "!再见。"]
    console.log(strings[0]);  // 你好,
    console.log(strings[1]);  // !再见。
    console.log(person)  // Koma
}
let output = tagged`你好,${name}!再见。`;
console.log(output)

例2:

var person = 'Mike';
var age = 28;

function myTag(strings, personExp, ageExp) {
  
  var str0 = strings[0]; // "That "
  var str1 = strings[1]; // " is a "

  var ageStr;
  if (ageExp > 99){
    ageStr = 'centenarian';
  } else {
    ageStr = 'youngster';
  }
  
  //经过处理后的字符串
  return `${str0}${personExp}${str1}${ageStr}`;
}

// 直接调用标签模板
myTag`That ${ person } is a ${ age }`;

05テンプレートの延長コード

1.利用ステンシル文字列

抗ラップは、単一引用符かもしれ

let name = "Koma"
let address = "网吧"
let mystr = `你好,${name}!
晚上一起去${address}玩吗?
等你的回信。`
console.log(mystr)
2.拡張テキストテンプレート(例えば、値引きの拡張)

レンダリング値下げ:値下げ太字を達成するために、アスタリスクの両側にすべての変数を置きます:

let name = "Koma"
let address = "网吧"
let str = markdown`你好,${name}!
晚上一起去${address}玩吗?
等你的回信。`
console.log(str)

function markdown(strings, ...args){
  console.log(strings)
  console.log(args)
  var result = "# 信息标题\n";
  for(var i = 0; i < strings.length; i++)
    result += strings[i] + "**" + (args[i] || '') + "**";
  return result;
}

出力:

# 信息标题
你好,**Koma**!
晚上一起去**网吧**玩吗?
等你的回信。****

新しいタイプの06シンボル

完成するために、

公開された673元の記事 ウォンの賞賛644 ビュー380 000 +

おすすめ

転載: blog.csdn.net/zhaohaibo_/article/details/105393551