tipo de datos js, almacenamiento de pila, cálculo de tipo de datos múltiples
¿Cuáles son los tipos de datos js?
Tipos de datos básicos (tipos de valor): Número, Cadena, Booleano, Indefinido, Nulo, Símbolo (nuevos valores únicos en es6) y BigInt (nuevo en es10);
Tipo de datos de referencia: Objeto. Incluyendo Objeto, Matriz, Función, Fecha, RegExp.
Observaciones: tipo de datos básico, también conocido como tipo de valor.
Almacenamiento de pila
Almacenamiento de pila de tipo de valor: principalmente para tres tipos de datos (Número, Cadena, Booleano). Almacenados directamente en la pila, ocupando un espacio reducido y un tamaño fijo, son datos de uso frecuente, por lo que se almacenan en la pila.
P.ej:
El cambio en la memoria de la pila cuando ejecutamos el siguiente código:
var a=100;
var b=100;
a=200;
Almacenamiento de pila de tipo de referencia: principalmente para datos de referencia de objetos y matrices y nulos, que se almacenan en la pila y en el montón al mismo tiempo, ocupando un gran espacio y el tamaño no es fijo. El tipo de datos de referencia almacena un puntero en la pila, que apunta a la dirección inicial de la entidad en el montón. Cuando el intérprete busca un valor de referencia, primero recupera su dirección en la pila y luego obtiene la entidad del montón después de obtener la dirección.
Observaciones:
El almacenamiento de tipo de referencia almacena el valor en la memoria de pila y la memoria de pila se almacena de abajo hacia arriba. Genere una dirección de memoria única. Luego asigne la dirección a la variable en la memoria de pila. La memoria de la pila se almacena de arriba a abajo. La razón para dividir la memoria de esta manera considera principalmente la eficiencia de la transferencia de valor para objetos particularmente grandes.
Tipos de valores comunes:
Tipos de referencia comunes:
Nota: Debido a que typeof detecta nulo y devuelve el objeto, algunos lugares también se vuelven nulos como un tipo de referencia especial. Pero estamos mejor clasificados como tipos básicos.
tipo de operador:
Tipo básico (tipo de valor):
para resumir:
typeof puede detectar tipos básicos de manera efectiva, y todos los tipos de referencia devolverán un objeto, donde null es un tipo de referencia especial y un objeto de retorno, la función es un tipo de referencia especial y no se usa para almacenar datos, y la detección de typeof devuelve la función.
Conversión de tipo de cálculo variable
1. Empalme de cuerdas
const a=100+200; // 200
const b=100+'200' // '100200'
const c='true'+'100' // 'true100'
Conclusión: hay cadenas en la operación + y el resultado es una concatenación de cadenas.
2.==与===
En conclusión:
===
Tercera clase significa congruencia, juzgando si los objetos o valores en los lados izquierdo y derecho son del mismo tipo y valor.
==
Segunda clase significa que los valores son iguales. Juzgando si los objetos o valores en ambos lados del operador son iguales y los tipos pueden ser diferentes Cuando los tipos son diferentes, use laNumber()
conversión paraNumber
escribir para hacer el juicio. Regla de excepción,null==undefined,null/undefined
no se realiza ninguna conversión de tipo implícita al realizar operaciones. Por lo general, el valor se convierte en un valor booleano para un juicio condicional.Boolean(null)===Boolean(undefined)
> falso === falso El resultado es verdadero
3. Sentencia If y operaciones lógicas
verdaderamente variable y rápido
Variables falsas comunes (distintas de las verdaderas).
para resumir:
De todos los tipos básicos, solo hay 6 valores booleanos que son falsos. Son: 0 NaN '' nulo indefinido falso
Tipo de referencia Los valores booleanos son todos verdaderos.
Sentencia en declaración if
para resumir:
Cuando la condición if es un valor único, si es un valor verdadero, se establece la condición, si es un valor falso, no se establece la condición
Juicio lógico:
para resumir:
Reglas de operación lógica AND (&&): El lado izquierdo realmente regresa al lado derecho, y el lado izquierdo regresa rápidamente al lado izquierdo.
Reglas de operación lógica OR (| |): Truley regresa a la izquierda a la izquierda y rápidamente regresa a la derecha a la izquierda.