Notas del estudio: [Pony Arte ES6 / ES2015 entrada para explicar _ bip bip millas millas (゜-゜) zu ro Saludos ~ -bilibili
comando 01 let
El siguiente procedimiento se utiliza ES5 var
factible, pero para ES6 let
factible.
1. sale del ámbito factible
if (true) {
let i = 1;
}
console.log(i); // 变量i未找到
2. Repetir la definición no es factible
var i = 0;
switch(i) {
case 0:
let value = "hello";
break;
case 1:
let value = "world"; // 重复定义错误
break;
}
02 constantes const definido
1. constante en sí no puede ser reasignada.
const data = 10;
console.log(data);
data = 100; //错误:常量不可改变
2. constantes en sí tareas más largas, pero sin los elementos dentro de la constante puede ser re-asignado.
const list = [1,2,3];
console.log(list);
// list = [2,3,4]; // 错误
list[0] = 100; // 数组的值可以改变。
console.log(list);
Usted puede empujar, pop
list.push(99);
console.log(list);
list.pop()
console.log(list);
conversión de 03 hex
1 puede estar directamente definir un número binario 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. conversión hexadecimal
10 es 1,010 binario
octal 10: Conmutador 10 primera binario 1010, convierte luego en el octal -> 12 es
16 hex a 10: 16 hexagonal en 1010 -> A
. 5 de alimentación 10 sistema: 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 incrustados en la cadena
1. Anti cotizaciones individuales `plantilla se usa para definir una cadena
let name = "Koma"
let mystr1 = "你好,${name}!" // 不起作用
let mystr2 = `你好,${name}!再见。` // 起作用
console.log(mystr1)
console.log(mystr2)
2. Analizar la plantilla de cadena
plantillas de etiquetas (plantillas con referencia) le permite usar un método para cadenas de la plantilla de análisis sintáctico.
- El nombre del método es la costumbre.
- El primer parámetro del parámetro del método es una matriz de cadenas, varios parámetros están detrás de los que pase
${}
el resto de las variables indicadas. - El método puede devolver su procesado a través de una cadena u otro método.
Ejemplo 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)
Ejemplo 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 }`;
cable de extensión 05 plantilla
cadena de la plantilla 1. Utilización
El anti-envoltura puede ser una comilla simple
let name = "Koma"
let address = "网吧"
let mystr = `你好,${name}!
晚上一起去${address}玩吗?
等你的回信。`
console.log(mystr)
2. Plantillas de texto extendidas (por ejemplo, la extensión de la Markdown)
rebaja prestados: poner todas las variables en ambos lados de un asterisco para lograr la reducción del precio en negrita:
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;
}
salida:
# 信息标题
你好,**Koma**!
晚上一起去**网吧**玩吗?
等你的回信。****
06 Símbolo de nuevos tipos
Para ser completado