JavaScriptベース2
3311 ワード
Data, Types, let vs var, hoisting
Variable
変数がボックスに等しい
物を預けるのに使う.
ボックスと変数の違いは、ボックスが物を保存し、変数がデータを保存することです.
まず、変数letとvarを比較する前に、Holistについて説明します.
ホストとは?
変数の宣言を有効範囲の最上位に上げる行為=>宣言と分配を分けるとさらに良い.
if(ture){
var name = 'youddomack';
}
console.log(name);
上のコードは次のコードに変換されます.var name;
if(ture){
name = 'youddomack';
}
console.log(name);
Let
let name = "ellie";
name = "doyeon";
letを使用して変数の値を格納し、後で変数の値を変更できます.Const
constはletとは異なり,いったん値を付与すると値は絶対に変わらない.値を変更し続けることができるのは可変データ型、letは可変データ型、constは可変データ型です.
Block scope { }
{}で生成された変数は{}以外では使用できません.
{}で定義されていません.外部で宣言された変数はglobal scopeと呼ばれ、どこでも使用できます.
global scopeは常にメモリに存在し、アプリケーションの開始から終了まで使用するため、class、関数、if、for文で使用するのが望ましい.
Variable types
Primitive single item
number, string, boolean, null, undifined
Object
function, frist-class function
objectでは、単一のプロジェクトを複数の箱に組み合わせて管理できます.
first class function
JavaScriptでは、関数をオブジェクトとして扱い、他の変数、オブジェクト、配列に格納したり、インポート、戻し、または同時に実行したりすることができます.
Number
JavaScriptではnumberを単独で宣言する必要はありません.
JavaScriptではタイプが多様なので、
let a = 1;
let b = 2;
これで設定できます後でJavaScriptを学び、typeをもっと詳しく使いたいならtypeScriptを学ぶことができます.
Typeスクリプトには、次のものがあります.
let a: number = 12;
let b: number = 20;
こうなります.String
フィードバック付きString出力(最近はこの機能のみが使用されているようです)
console.log(`value:${함수}`)
Booleanfalse: 0,null, undefined, Nan
true:その他の値
変数consttest=falseとして;設定できます.
const test = 3<1;
このようにして値をfalseと推定することができます.
nullとundefinedの違い
nullが空っぽの値なら
未定義とは、宣言されたが値が割り当てられていないことを意味します.
NanはNot a numberが数字ではないことを示す
Symbol
地図または他の資料構造の一意の識別子を必要とするか、同時に多発するコードで優先順位を付けたい場合に使用します.
const symbol1 = Symbol("id");
const symbol2 = Symbol("id");
Symbolは一意の識別子であり、内部Stringを同じにしてもfalse値が生成されます.同じ構成部品を選択する場合は
const symbol2 = Symbol.for("id");
Symbol.for()を使えばいいです.Symbol.for()は、呼び出しごとに新しい構成部品を作成するのではなく、まず、現在のレジストリに鍵を持つ構成部品が存在するかどうかを確認します.
ある場合はそのエレメントを返し、鍵に対応するエレメントがない場合はSymbol.for()は、新しいグローバル構成部品を作成します.
Dynamic typing
(DREAMコードELLYのYouTubeで許可をもらいました!)
JAvascriptはダイナミックタイプ言語で、タイプを指定しない場合、値のタイプが自動的に値のタイプを決定します.
上の図に示すように、String値にnumberを加えるとnumber値がString値になり、2つのString値が1つに結合されます.
また、2つのString値の間の値が数値である場合、2つの値の間の値が数値である場合、Stringではなく数値が格納されます.
String + number =>String + String
String(number)/String(number) => number
ここの問題は
最初に変数をStringとして保存し、0番目の配列を出力します.
他の開発者がString値をnumberに変更した場合、実行を知らないふりをすると、実行時エラーが発生します.
Reference
この問題について(JavaScriptベース2), 我々は、より多くの情報をここで見つけました https://velog.io/@ehdus403/자바스크립트-기초-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol