[TIL]DREAM符号化javascript(3)
4490 ワード
3. Javascript data types, Variable types
今日はDREAMコードの3強に入りました.闻く时间はたくさんあるけど难しすぎる.
終業時間になってやっと片付ける
難しくて疎かなので、他の人のメッセージを参考にして、位置付けをしたいと思います.
レッスンリンク:エリー
その他の開発者クリーンアップリンク:ljh95.log
1.let
// let(added ES6)
{
let name = 'ellie';
console.log(name);
name = 'hello';
console.log(name);
}
// let(added ES6)
{
let name = 'ellie';
console.log(name);
name = 'hello';
console.log(name);
}
2.var
エリー氏は、「昇進:Hoistingがどこで宣言しても、宣言を一番上に掲げている.見つけたら、そう言うのは間違っている」と話した.もっと正解に近い馬を探しましょう!
+)番外説明
Block Scope
{
let name = 'ellie';
console.log(name);
name = 'hello';
console.log(name);
}
✔ブロック内でコードを作成した後、ブロック外でブロック内の内容を見ることができなくなる✔つまり、必要な場所でしか定義できません!効率性
Global Scope
✔逆に、block以外で直接変数を定義する子どもたち
✔随所に見られる(運転時は常にメモリ中、ブロックへの書き込みを推奨)
😀 結論:Blockでコードを書くのが望ましい~
3. Constants
🔒 ポインタがロックされています
❌値の宣言および割当後の変更不可
✔ 1. 変更不可なのでハッカーの侵入を防ぐことができます.値を同時に割り当てるスレッドからのリスクを回避します3.人為的なエラーを減らす
+)番外説明
Mutable Type:値変更可能な関数(let)
Immutable Type:値指定後、変更不可の関数(const)
😀 結論:一般的にはconstで記入したほうがいいです!
4. Variable types
✔プログラミング言語はいずれもオリジナルタイプとobjectタイプの2種類に分けられます
primitive type
✔とは、これ以上シェアできない単品のこと.
✔ ex) number, string, boolean, null, undefind, symbol
object type
4-1. Number
☝javascriptはC言語やJAVAと異なり、値の大きさや小数点に応じて関数を変更する必要はなく、1つの数字だけで済みます.
// 다른 프로그래밍 언어와 달리 17이든 17.1이든 number 하나로 통용해서 표현할 수 있어
생략하기도 하는 것 같다.
const count = 17;
const size = 17.1;
console.log(`value: ${count}, type: ${typeof count}`);
console.log(`value: ${size}, type: ${typeof size}`);
// number - speical numeric values:
const infinity = 1 / 0;
const negativeInfinity = -1 / 0;
const nAn = 'not a number' / 2;
console.log(infinity);
console.log(negativeInfinity);
console.log(nAn);
4-2. String
☝は他の言語とは異なり、1つの文字でも1つの文でもstringは1つのタイプです.
const char = 'c';
const brendan = 'brendan';
const greeting = 'hello' + brendan;
console.log(`value: ${greeting}, type: ${typeof greeting}`);
const helloBob = `hi ${brendan}!`; //template literals (string)
console.log(`value: ${helloBob}, type: ${typeof helloBob}`);
4-3. boolean
✔ false: 0, null, undefined, NaN, ''
✔ true: any other value
const canRead = true;
const test = 3 < 1; //false
console.log(`value: ${canRead}, type: ${typeof canRead}`);
console.log(`value: ${test}, type: ${typeof test}`);
4-4. null
let nothing = null;
console.log(`value: ${nothing}, type: ${typeof nothing}`);
4-5. undefined
let x;
console.log(`value: ${x}, type: ${typeof x}`);
4-6. Symbol
// symbol, create unique identifiers for objects(맵, 자료구조, 동시다발적인 코드에서 우선순위를 주고 싶을 때)
const symbol1 = Symbol('id');
const symbol2 = Symbol('id');
console.log(symbol1 === symbol2);
//symbol은 같은 id를 줘도 각각 다르게 고유한 symbol
//같은 symbol로 만들고 싶을 때
const gSymbol1 = Symbol('id');
const gSymbol2 = Symbol('id');
console.log(gSymbol1 === gSymbol2); //true
console.log(`value: ${symbol1.description}, type: ${typeof symbol1}`);
5. Dynamic typing: dynamically typed language
🏋️♂️ JavaScriptは、CまたはJAVAとは異なり、宣言時にどのタイプであるかを宣言するのではなく、プログラム実行時に割り当てられた値に基づいてタイプ=動的に変更します.
会社で終わらなかったので、週末まで引きずっていたので、記憶力が少しぼんやりしていました.ㅠ会社に暇があれば、できるだけ簡単に会社が発表できる程度に書きましょう.
Reference
この問題について([TIL]DREAM符号化javascript(3)), 我々は、より多くの情報をここで見つけました https://velog.io/@huhyj97/TIL드림코딩-javascript-3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol