研究ノート:[ポニーアート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シンボル
完成するために、