Maison >interface Web >Questions et réponses frontales >Analyse détaillée des six types de données de base en JavaScript

Analyse détaillée des six types de données de base en JavaScript

WBOY
WBOYavant
2021-12-29 18:16:552392parcourir

Cet article vous apporte des connaissances pertinentes sur les six types de données de base en JavaScript. J'espère qu'il vous sera utile.

Analyse détaillée des six types de données de base en JavaScript

1. Sensibilité à la casse

En JavaScript, tout (variables, fonctions et opérateurs) est sensible à la casse. Cela signifie également que le nom de variable test et le nom de variable Test représentent respectivement deux variables différentes.

2. Identifiants

Les soi-disant identifiants font référence à des variables, des noms et opérateurs de fonctions, ou des paramètres de fonction. Les règles de format des identifiants sont les suivantes :

1. Le premier caractère doit être un caractère, un trait de soulignement (_) ou un signe dollar ($) ;

2. Les autres caractères peuvent être des lettres, des traits de soulignement, des signes dollar et des chiffres ;

Selon la convention, les identifiants JavaScript sont écrits au format camel, c'est-à-dire qu'une lettre est ouverte en minuscule et la première lettre des mots restants est en majuscule. Par exemple : firstChirld, myCar ;

Bien sûr, il n'est pas obligatoire d'utiliser le format d'écriture en petit chameau pour les identifiants, mais cela peut nous faciliter la compréhension du code Lors de l'écriture, essayez d'utiliser le format d'écriture en petit chameau. pour permettre aux autres de comprendre plus facilement votre code.

3. Commentaires

Les méthodes de commentaires en JavaScript sont divisées en commentaires sur une seule ligne et commentaires sur plusieurs lignes :
Commentaires sur une seule ligne :

//这是一个单行注释

Commentaires sur plusieurs lignes :

/*
*这是一个
*多行注释
*/

4. Déclarations

En JavaScript, les instructions sont divisées en points. se termine par un point-virgule ; si le point-virgule est omis, l'interpréteur détermine la fin. Comme le montre l'exemple suivant :

var sum = a + b			//即使没有分号也是有效语句——不推荐
var diff = a - b;		//有效语句——推荐

5. Variables

Le type de variable en JavaScript est faiblement typé. Le type dit faible signifie qu'il peut être utilisé pour enregistrer tout type de données. En d’autres termes, chaque variable n’est qu’un espace réservé pour contenir une valeur.
Utilisez le mot-clé var lors de la définition d'une variable, suivi du nom de la variable (c'est-à-dire son identifiant). Comme indiqué ci-dessous :

var  message;

JavaScript prend également en charge l'initialisation directe des variables, de sorte que la valeur de la variable peut être définie lors de la définition de la variable. Comme indiqué ci-dessous :

var message = "Hello world!";

Une chose à noter est qu'une variable définie avec le mot-clé var deviendra une variable locale dans la portée où la variable est définie. En d'autres termes, si var est utilisé pour définir une variable dans une fonction, la variable sera détruite une fois la fonction terminée. Par exemple :

function test(){
	var message = "Hello";		//局部变量
}
test();
console.log(message);		//错误!

La raison de l'erreur est que la variable message est définie à l'aide de var dans la fonction test(). Lorsqu'une fonction est appelée, une variable est créée et affectée d'une valeur. Après cela, la variable est immédiatement détruite, donc la ligne de code suivante dans l'exemple provoquera une erreur. Cependant, vous pouvez créer une variable globale en omettant le mot-clé var comme suit :

function  test(){
	message = "Hello";			//全局变量
}
test();
console.log(message);			//"Hello"

Si vous omettez le mot-clé var ici, le message devient une variable globale. De cette façon, tant que la fonction test() est appelée une fois, la variable est définie. Une fois la variable globale définie, elle est accessible n'importe où en dehors de la fonction.
Bien qu'il soit possible de définir des variables globales en omettant le mot-clé var, cela n'est pas recommandé car les variables globales définies dans la portée locale sont difficiles à maintenir.

Types de données

Il existe plusieurs types de données simples en JavaScript (également appelés basiques) ; Type de données) : Non défini, Null, Booléen, Nombre et Chaîne. Il existe également un type complexe : Object. Il s'agit essentiellement d'un ensemble de paires nom-valeur non ordonnées. JavaScript ne prend en charge aucun mécanisme de création de types personnalisés et toutes les valeurs appartiennent à l'un de ces 6 types de données.

opérateur typeof

Étant donné que JavaScript est faiblement typé, il doit y avoir un moyen de détecter le type de données d'une variable donnée - typeof est un opérateur chargé de détecter le type de données d'une variable donnée. L'utilisation de l'opérateur typeof sur une valeur peut renvoyer l'une des chaînes suivantes :

  • "undefined" - si la valeur n'est pas définie ;

  • "boolean" - si la valeur est de type booléen ; string" - si la valeur est une chaîne;

  • "number" - si la valeur est un nombre;

  • "object" - si la valeur est un objet ou null;

  • "function "— —Si cette valeur est une fonction ;

  • Voici quelques exemples d'utilisation de l'opérateur typeof :

var message = "hello";
console.log(typeof message);			//"string"
console.log(typeof(message));			//"string"
console.log(typeof 95);					//"number"
L'opérande de l'opérateur typeof peut être une variable ou un littéral numérique. Notez que typeof n'est pas une fonction, donc les parenthèses dans cet exemple, bien qu'elles puissent être utilisées, ne sont pas obligatoires.

En JavaScript, une fonction est un objet, pas un type de données, il est donc nécessaire d'utiliser typeof pour distinguer les fonctions des autres objets.

Type indéfini


Le type indéfini n'a qu'une seule valeur, qui est l'indéfini spécial. Lorsqu'une variable est déclarée à l'aide de var mais n'est pas initialisée, la valeur de la variable n'est pas définie. Par exemple :

var message;
console.log(message  == undefined);		//true
var message1 = "undefined";
console.log(message1 == undefined);			//true

Cependant, un point déroutant est que l'exécution de l'opérateur typeof sur une variable non initialisée renvoie une valeur non définie, tandis que l'exécution de l'opérateur typeof sur une variable non déclarée renvoie également une valeur non définie. Regardez l'exemple suivant :

var message;			//这个变量声明之后默认取得了undefined值
//下面这个变量并没有声明
//var age;
console.log(typeof message);		//"undefined"
console.log(typeof age);			//"undefined"

renvoie undefined pour les variables initialisées et les variables déclarées. Ce résultat est logiquement raisonnable. Parce que ces deux variables sont essentiellement différentes d'un point de vue technique, mais qu'en réalité il est impossible d'effectuer des opérations réelles sur l'un ou l'autre type de variable,

Null类型

Null类型是第二个只有一个值得类型,这个特殊的值是null。从逻辑的角度来看,null值表示一个对象的空指针,而这也正是使用typeof操作符的检测null值时会返回“object”的原因,如下面的例子所示:

var message= null;		
console.log(message);		//"object"

如果定义的对象将来用来保存对象,那么最好将这个变量初始化为null而不是其他的值。这样一来,只要直接检查null值就可以直接知道相应的变量是否已经保存了一个对象的引用,如下面的例子:

if(message != null){
	//对message进行一系列的操作
}

实际上,undefined的值是派生自null值得,所以对它们进行相等性测试的时候要返回true:

console.log(null == undefined);		//true

在这里,位于null和undefined之间的相等操作符(==)总是返回true。尽管null和undefined有这样的关系,但它们的的用途完全不同。如上面所述,无论在什么情况下,都没有必要把一个变量显示的表示为undefined,可是同样的规则对null却不适用。换句话说,只有保存对象的变量还没有真正的保存对象,就应该在明确地表示将该变量保存为null值。这样做不仅可以体现null值作为空指针的惯例,而且也有助于进一步的区分null和undefined。

Boolean类型

Boolean类型是JavaScript中使用最多的一种类型,该类型只有两个字面值:true和false。这两个值与数字值不是一回事,因此true不一定等于1,而false也不一定等于0。以下是为变量赋值的例子:

var first = true;
var second = false;

需要注意的是,boolean类型的两个值区分大小写。也就是说True和true、False和false不是一回事。
True和False(以及其他混合大小形式)只是标识符,不是boolean值。
虽然boolean值只有两个值,但是JavaScript所有类型的值都有与这两个boolean值等价的值。要将一个值转换为相应的Boolean值,可以调用Boolean()函数。例如:

	var message = "Hello world!";
	var messageAsBoolean = Boolean(message);
	console.log(messageAsBoolean);		//true

可以对任何类型的值调用Boolean()函数,而且总会返回一个boolean值。至于返回的是true还是false取决于要转换的实际类型及其实际值。下表给出了各种数据类型对其转换的相应规则:

数据类型 转换为true的值 转换为false的值
Boolean true false
String 任何非空字符串 “”(空字符串)
Number 任何非零数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined n/a undefined

Number类型

在JavaScript中number类型定义了不同的数值字面量格式。例如:

	var  intNumber = 55;		//十进制整数
	var octalNum1 = 070;		//八进制的56
	var octaNum2 = 079;			//无效的八进制数,解析为79
	var octaNum3 =  08;			//无效的八进制数,解析为8
	var hexNum1 = 0xA;			//十六进制的10
	var hexNum2 = 0x1f;			//十六进制的31

在进行算术计算时,所有八进制和十六进制表示的数值都会转换成十进制数值。

NaN

NaN即非数值,是一个特殊的数值。这个数用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。NaN本身有两个特点:
首先,任何涉及NaN的操作(例如NaN/10)都会返回NaN,这个特点在多步计算中有可能导致问题。
其次,NaN与任何值都不相等,包括NaN本身。例如:

console.log(NaN ==NaN );		//false

String类型

string类型用于表示零或多个Unicode字符组成的字符序列,即字符串。字符串可以由双引号(")或单引号(’)表示,因此下面两种写法都是有效的:

var firstName = "王文正";
var secondName = "王彬";

双引号开头的必须以双引号结尾,而当引号开头的必须以单引号结尾。下面这种会导致语法错误:

var name = "王彬';		//语法错误
字符字面量

String类型中包含了一些特殊字面量,也叫转义序列,用于表示非打印字符,或者有其他的用途的字符。这些字符字面量如下表所示:

字面量 含义
\n 换行
\t 制表
\b 退格
\r 回车
\f 进纸
\ 斜杠
单引号
" 双引号
\xnn 以十六进制代码nn表示一个字符
\unnn 以十六进制代码nnn表示一个Unicode字符
字符串的特点

JavaScript中的字符串是不可变的,也就是说,字符串一旦创建,它的值就是不可更改的。要更改某个变量中保存的字符串,首先要销毁原来的字符串,然后用另一个包含新值得字符串填充变量,例如:

var lang = "java";
lang = lang + "script";
console.log(lang);		//javascript

Object类型

JavaScript中的对象是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型名称来创建。而创建Object类型的实例并为其添加属性或方法,就可以创建自定义对象。如下所示:

var o = new Object();
var  o = new Object;		//有效,但是不推荐这种做法;
Object的每个实例都具有以下下列属性和方法:
  • constructor:保存着用于创建当期那对象的函数。

  • hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是实际的原型中)是否存在。

  • isPrototypeOf(object):用于检查传入的对象那个是否是当前对象的原型。

  • propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句

  • toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应

  • valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同

  • toString():返回对象的字符串表示

  • 由于在JavaScript中Object是所有对象的基础,因此所有对象都具有这些基本的属性和方法。

【相关推荐:javascript学习教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer