検索
ホームページウェブフロントエンドjsチュートリアルjsのデータ型とは何ですか? jsのデータ型のまとめ

jsのデータ型とは何ですか? js のデータ型は基本型と参照型に分けられ、js の基本データ型は Number、String、Boolean、Unknown、Null の 3 つです。オブジェクト、関数、配列; この記事では、js のデータ型をすべての人に向けてまとめます。

まず、typeof 演算子を見てみましょう:

js の変数は緩やかに型指定されているため、現在の変数のデータ型 (typeof キーワード) を検出する方法が提供されます。

typeof   123   //Number
typeof   'abc'  //String
typeof    true       //Boolean
typeof    undefined   //Undefined
typeof    null        //Object
typeof    { }           //Object
typeof    [ ]           //Object
typeof    console.log()       //Function

null 型typeof 演算子を実行すると、null 型は null オブジェクト参照として扱われるため、結果は object になります。

1. js の基本データ型

1. 数値型

数値型には、整数と浮動小数点数の 2 つの値が含まれます (浮動小数点数の値には小数点が含まれている必要があり、小数点以下少なくとも 1 桁)。非常に大きい数値または非常に小さい数値は、科学 (指数) 表記を使用して記述することができます。

NaN: 非数値型。特徴: ① NaN を含むすべての演算は NaN を返します。 ② NaN はそれ自体と等しくありません。

isNaN() 関数は、引数が数値以外の値であるかどうかを確認するために使用されます。

isNaN(123) //false isNaN("hello") //true

2.文字列型

文字列は長さ属性を持ちます。

文字列変換: 変換関数 String()、任意のデータ型に適用可能 (null、未定義は null および未定義に変換されます); toString() メソッド (null、定義済みには toString() メソッドはありません)。

3. ブール型

この型には、true と false の 2 つの値のみがあります

4. 未定義型

は、値が 1 つだけあります。変数が var を使用して宣言されているが、変数が初期化されていない場合、変数の値は未定義です。

5. Null 型

Null 型は、Null オブジェクト ポインタと見なされます。前述したように、Null 型は空のオブジェクト参照でもあります。

6. オブジェクトの型

js のオブジェクトは、プロパティとメソッドのコレクションです。ここでは参照型について説明します。参照型は、データと関数を一緒に編成するために使用されるデータ構造です。参照型は、オブジェクトのクラスのプロパティとメソッドを記述するため、オブジェクト定義と呼ばれることもあります。

2. js 参照データ型

1. オブジェクト型

私たちが目にする型値のほとんどは、オブジェクト型のインスタンスを作成する方法があります。

最初の方法は、以下に示すように、 new 演算子の後にオブジェクト コンストラクターを使用することです

var person = new Object();
person.name = "Micheal";
person.age = 24;

2 番目の方法は、以下に示すように、オブジェクト リテラル表記を使用することです

var person = {
  name : "Micheal",
  age : 24
};

2 配列型

2. item はあらゆる種類のデータの保存に使用できます。つまり、配列の最初の位置は文字列の保存に、2 番目の位置は値の保存に、3 番目の位置はオブジェクトの保存に使用できます。さらに、配列のサイズは動的に調整できます。

配列を作成するには 2 つの基本的な方法があります

1 つ目は、以下に示すように Array コンストラクターを使用する方法です

var colors = new Array("red","blue","yellow");

2 つ目は、以下に示すように配列リテラル表記を使用する方法です

var colors = ["red","blue","yellow"];

3。 すべての関数は Function 型のインスタンスであり、他の参照型と同じプロパティとメソッドを持ちます。関数は通常、以下に示すように、関数宣言構文を使用して定義されます

function sum(num1,num2){
  return num1 + num2;
};

これは、関数式を使用して関数を定義する方法と似ています。

var sun = function (){
  return sum1 + sum2;
};

つまり、jsは格納方法によって値型と参照型に分かれます。それでは、両者の計算の違いは何でしょうか?

3. 値型と参照型の違い

1. 値型

は固定領域を占有し、スタックに格納されます (メソッドが実行されると、各メソッドは独自のメモリを作成します)スタック、このメソッドで定義された変数は 1 つずつこのスタック メモリに配置されます。メソッドの実行が終了すると、このメソッドのメモリ スタックは自然に破棄されます。そのため、メソッドで定義されたすべての変数はスタック メモリに配置されます。スタックには、いくつかのオブジェクトの基本変数と参照変数が格納され、スタックに格納された参照変数は、ヒープ内の配列またはオブジェクトのアドレスを指します。参照が変更されるのはそのためです。型は常にこのアドレスを指す他の参照変数に影響します。)

保存およびコピーされるのは値そのものです

データの型を検出するには typeof を使用します

基本的な型データは値です。型

2. 参照型

占用空间不固定,保存在堆中(当我们在程序中创建一个对象时,这个对象将被保存到运行时数据区中,以便反复利用(因为对象的创建成本通常较大),这个运行时数据区就是堆内存。堆内存中的对象不会随方法的结束而销毁,即使方法结束后,这个对象还可能被另一个引用变量所引用(方法的参数传递时很常见),则这个对象依然不会被销毁,只有当一个对象没有任何引用变量引用它时,系统的垃圾回收机制才会在核实的时候回收它。)

保存与复制的是指向对象的一个指针

使用instanceof检测数据类型

使用new()方法构造出的对象是引用型

计算区别:

题目1:

var a = 100;
    var b = a;
      a = 200;
    console.log (b);

题目2:

var a = {age : 20};
    var b = a;
    b.age = 21;
    console.log (a.age);

题目1的答案是 100,题目2的答案是21,

题目1是简单的值类型,在从一个变量向另一个变量赋值基本类型时,会在该变量上创建一个新值,然后再把该值复制到为新变量分配的位置上。

此时,a中保存的值为 100 ,当使用 a 来初始化 b 时,b 中保存的值也为100,但b中的100与a中的是完全独立的,该值只是a中的值的一个副本,此后,这两个变量可以参加任何操作而相互不受影响。也就是说基本类型在赋值操作后,两个变量是相互不受影响的。

题目2是引用类型,当从一个变量向另一个变量赋值引用类型的值时,同样也会将存储在变量中的对象的值复制一份放到为新变量分配的空间中。

这时保存在变量中的是对象在堆内存中的地址,所以,与简单赋值不同,这个值的副本实际上是一个指针,而这个指针指向存储在堆内存的一个对象。那么赋值操作后,
两个变量都保存了同一个对象地址,则这两个变量指向了同一个对象。因此,改变其中任何一个变量,都会相互影响。

因此,引用类型的赋值其实是对象保存在栈区地址指针的赋值,因此两个变量指向同一个对象,任何的操作都会相互影响。

相关文章推荐:

js的数据类型及JS基本数据类型具体有哪几种

JS数据类型怎样转换

JS的数据类型+引用类型深浅拷贝与内存分配问题


以上がjsのデータ型とは何ですか? jsのデータ型のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScriptフレームワーク:最新のWeb開発のパワーJavaScriptフレームワーク:最新のWeb開発のパワーMay 02, 2025 am 12:04 AM

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

JavaScript、C、およびブラウザの関係JavaScript、C、およびブラウザの関係May 01, 2025 am 12:06 AM

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、型を使用してストリーミングしますnode.jsは、型を使用してストリーミングしますApr 30, 2025 am 08:22 AM

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

Python vs. JavaScript:パフォーマンスと効率の考慮事項Python vs. JavaScript:パフォーマンスと効率の考慮事項Apr 30, 2025 am 12:08 AM

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptの起源:その実装言語の調査JavaScriptの起源:その実装言語の調査Apr 29, 2025 am 12:51 AM

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

舞台裏:JavaScriptをパワーする言語は何ですか?舞台裏:JavaScriptをパワーする言語は何ですか?Apr 28, 2025 am 12:01 AM

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの未来:傾向と予測PythonとJavaScriptの未来:傾向と予測Apr 27, 2025 am 12:21 AM

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

Python vs. JavaScript:開発環境とツールPython vs. JavaScript:開発環境とツールApr 26, 2025 am 12:09 AM

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。