JSONとJavaScriptの紹介と違い

創造を続け、成長を加速させましょう!「ナゲッツデイリーニュープラン・6月アップデートチャレンジ」に参加して5日目です。クリックしてイベントの詳細をご覧ください。

Web開発はJavaScriptに依存していますが、JSONとは何ですか?JSONはJavaScriptとどのように異なりますか?WEBの背後にあるテクノロジーを理解することは、利用可能なリソースを革新して最大限に活用しようとしているチームにとって重要です。Webに関連するものはすべてJavaScriptを使用します。ただし、JSONはより微妙な違いがあり、使用する必要がある場合とない場合があります。

JSONとJavaScript

JSONとJavaScriptの比較を開始する前に、JSONとは何か、およびJSONとJavaScriptとの関係を理解する必要があります。JavaScriptとJSONが何であるかを確認してから、それらを比較対照して、それらの違いを確認しましょう。

JavaScriptとは何ですか?

JavaScriptは、HTMLやCSSと並んで、ワールドワイドウェブのコアテクノロジーの1つです。JavaScriptは、Webページに命を吹き込むことから始まりました。それがなければ、現代のウェブデザインは静的で退屈なものになるでしょう。JavaScriptはプログラミング言語です。Web開発のあらゆる側面がそれに基づいて構築されているため、おそらく最も重要なプログラミング言語であり、将来的にはますます重要になるでしょう。この記事では、JavaScriptとは何かを詳しく説明することに多くの時間を費やすことはありません。

JSONとは

JSONJavaScript Object Notationはの略です。JSON JavaScriptについても同じですか?完全ではありません。JSONは、JavaScriptから派生した、プログラミング言語に依存しないデータ形式です。最新のプログラミング言語のほとんどには、JSONデータを生成および解析できるメソッドが含まれています。

JSONに関するいくつかの注意:

  • データを保存および転送するための軽量フォーマットです
  • 文法は自己記述的であり、人間が読み、理解するのは簡単です
  • 通常、JSONは、データがサーバーからWebページに送信されるときに、APIのトランスポートデータ形式として使用されます。

JSON 数据以两种基本方式构造:key/value 对或此类对的集合,或有序列表。JSON 允许存储或传输六种不同类型的数据,包括:

  • Array
  • Null
  • Boolean
  • String
  • Number
  • Object

如上所述,JavaScript 和 JSON 是两个完全不同的东西。虽然 JSON 是从 JavaScript 派生的,但两者在很多方面没有可比性。但是,可以将 JSON 与 JavaScript 对象进行比较,这两者关系更密切,在前端开发中也是经常接触的。

什么是 JavaScript 对象?

JavaScript 对象也用于存储数据,所有 JavaScript 值实际上都是对象,除了原始数据类型 nullBooleannumberstringsymbolundefined 。JavaScript 对象可能会变得复杂,因为它们可以包含许多不同的原始数据组合。

JavaScript 对象也以 key/value 对的形式构成,它们可以通过对象构造器语法、对象字面量、构造器和原型链创建, JavaScript 对象是可变的。这意味着可以更改 key/value 对中各个键的值。

JSON 对比JavaScript 对象

在了解 JSON 和 JavaScript 对象的不同之处之前,重要的是要了解 JSON 和 JavaScript 对象的相似之处远大于它们的不同之处。JSON 源自 JavaScript 对象文字语法。事实上,最简单的解释是 JSON 是 JavaScript 对象文字语法,但有更多限制。

JSON 和 JavaScript 对象都是人类可读的。它们都为用户提供了一种结构化数据的方法,并且它们都可以用作另一个来源的来源。当谈到差异时,JSON 和 JavaScript 对象在几个关键方面有所不同:

  • 语言依赖
  • 纯文本
  • String Vs Object

语言依赖

JSONオブジェクトとJavaScriptオブジェクトの最大の違いの1つは、プログラミング言語の依存関係です。JavaScriptオブジェクトはJavaScriptに完全に依存しており、他のプログラミング言語では使用できません。一方、50を超える異なるプログラミング言語がJSONをサポートしており、その中には次のような人気のある言語が含まれます。

  • 行け
  • ルビー
  • Perl
  • C
  • C#
  • Python
  • PHP
  • JavaScript

この幅広いサポートにより、JSONはデータの保存と送信に柔軟に選択できます。

プレーンテキスト

JSONデータはテキストとしてのみ表示でき、コメントや他のコード行をJSONに追加することはできません。そのため、他の多くのプログラミング言語がJSONを生成して解析できます。JavaScriptオブジェクトには、関数やメソッドなどの他のコードを含めることができます。

文字列とオブジェクト

JSONオブジェクトとJavaScriptオブジェクトの最後の大きな違いは、それらのレンダリング方法です。JSONは文字列としてレンダリングされます。これらはJSON文字列と呼ばれます。JavaScriptオブジェクトには文字列を含めることができますが、その名前が示すように、JavaScriptオブジェクトはオブジェクトであり、文字列ではありません。オブジェクトは文字列よりも複雑です。

要約する

JSONオブジェクトとJavaScriptオブジェクトの違いは微妙であり、フロントエンド開発でよく使用される2つのタイプでもあります。特に重要なのは、JSONにはディープコピーとシャローコピーの問題がなく、オブジェクトは次のことを行う必要があるということです。この問題を考慮してください。オブジェクトのディープコピーによって引き起こされる問題を回避するために、通常はオブジェクトをJSONとの間で変換します。

おすすめ

転載: juejin.im/post/7105599849110143013