4.1 Expresiones primarias
Las expresiones más sencillas, conocidas como expresiones primarias, son las que se mantienen solas: no incluyen ninguna expresión más sencilla. Las expresiones primarias en JavaScript son valores constantes o literales, determinadas palabras clave del lenguaje y referencias a variables.
Los literales son valores constantes que se incrustan directamente en tu programa. Tienen el siguiente aspecto
1.23
// A number literal
"hello"
// A string literal
/pattern/
// A regular expression literal
La sintaxis de JavaScript para los literales numéricos se trató en §3 .2. Los literales de cadena se documentaron en §3.3. La sintaxis de los literales de expresiones regulares se introdujo en §3.3.5 y se documentará en detalle en §11.3.
Algunas de las palabras reservadas de JavaScript son expresiones primarias:
true
// Evalutes to the boolean true value
false
// Evaluates to the boolean false value
null
// Evaluates to the null value
this
// Evaluates to the "current" object
Aprendimos sobre true
, false
y null
en§3 .4 y§3.5. A diferencia de y las demás palabras clave, this
no es una constante, sino que se evalúa con valores diferentes en distintos lugares del programa. La palabra clave this
se utiliza en la programación orientada a objetos. Dentro del cuerpo de un método, this
se evalúa al objeto sobre el que se invocó el método. Consulta §4.5, el Capítulo 8(especialmente §8.2.2) y el Capítulo 9 para saber más sobre this
.
Por último, el tercer tipo de expresión primaria es una referencia a una variable, constante o propiedad del objeto global:
i
// Evaluates to the value of the variable i.
sum
// Evaluates to the value of the variable sum.
undefined
// The value of the "undefined" property of the global object
Cuando cualquier identificador aparece solo en un programa, JavaScript asume que es una variable o constante o propiedad del objeto global y busca su valor. Si no existe ninguna variable con ese nombre, al intentar evaluar una variable inexistente se produce un error de referencia (ReferenceError).