tipo de datos js, almacenamiento de pila, cálculo de tipo de datos múltiples

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;

Inserte la descripción de la imagen aquí

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.

Inserte la descripción de la imagen aquí

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:

Inserte la descripción de la imagen aquí

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.
Inserte la descripción de la imagen aquí

tipo de operador:

Tipo básico (tipo de valor):

Inserte la descripción de la imagen aquí

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

Inserte la descripción de la imagen aquí

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.==与===

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

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 la Number()conversión para Numberescribir para hacer el juicio. Regla de excepción, null==undefined,null/undefinedno 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

Inserte la descripción de la imagen aquí

Variables falsas comunes (distintas de las verdaderas).

Inserte la descripción de la imagen aquí

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

Inserte la descripción de la imagen aquí

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:

Inserte la descripción de la imagen aquí

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.

手写深拷贝
Debido a que el tipo de referencia usa el paso de direcciones, se genera otra copia profunda del problema; consulte otro blog para obtener más detalles. Copia profunda manuscrita

Supongo que te gusta

Origin blog.csdn.net/WLIULIANBO/article/details/110672033
Recomendado
Clasificación