Si estuviéramos escribiendo como foo equals true, habríamos escrito el literal booleano en lugar del numérico, o cadenas o lo que sea, solo para que entiendas. Aunque es bastante fácil entender este árbol, supongo que este es un poco más desafiante de manejar.
Al leer un árbol de sintaxis abstracta, llamamos a este proceso recorrer el árbol. Es bastante complejo en, por supuesto, programas complejos. Pero afortunadamente, muchas herramientas como Babel, ESLint, Pretier, nos proporcionan una buena interfaz para recorrer el árbol que se llama el patrón visitante.
En ese caso, con Babel, decimos, está bien, querido Babel, por favor dame todas las declaraciones de variables o los identificadores, todos los literales numéricos, y simplemente los imprimimos en la consola. Una vez que obtenemos, por ejemplo, todas las declaraciones de variables, podemos comenzar a transformarlas. Así que ese es el caso. Decimos, está bien, por favor dame todas las declaraciones de variables dentro de nuestro código. Y si el tipo de la variable es un var, simplemente transfórmalo en un let, lo cual no es sensato. No estoy sugiriendo que hagas eso, pero es un ejemplo muy sencillo. Así que eso hace las cosas más fáciles para nosotros. Dicho esto, a la izquierda, tenemos nuestra entrada var foo equals 10. Y a la derecha, tenemos nuestra salida let foo equals 10. Como puedes ver, en la línea dos, tenemos constante y lo dejamos intacto porque no es una variable, es un, es un const. Así que como puedes ver en el código, no estamos diciendo si es constante, por favor cámbialo a let. Así que no estamos haciendo eso. Como dije, el mismo concepto se aplica a otras herramientas, como Prettier, ESLint, Babel, GIS, CodeShift. Y vamos a verlos en detalle ahora mismo.
Con ESLint, tenemos un enfoque similar. Decimos, está bien, por favor, ESLint, dame todos los literales de plantilla que puedas encontrar en mi código. Y si encuentro uno, puedo reportar a ESLint un error, como por favor no uses literales de plantilla. Y también puedo proporcionar una solución para ello. Pero en ese caso, si tengo una expresión dentro de mis literales de plantilla, puedo decir, está bien, soy demasiado perezoso para eso. Así que simplemente estoy regresando, no estoy arreglando esto. Pero si no tengo una expresión, puedo decir, está bien, así que no tengo expresión. No tengo ninguna expresión. Así que no hay datos dinámicos dentro de mis literales de plantilla. Así que simplemente cambia los literales a comillas dobles. Así que eso es lo que estamos haciendo ahora.
Comments