TIL 13 | JavaScript Operator
19309 ワード
https://youtu.be/YBjufjBaxHo
『DREAMCODINGBY ELLY』のYouTube講座を見て整理した内容です
①文字列文字の利点:改行または中間に「singlequote」を使用して文字列に変換することもできます. の間にquoteを付けたい場合は 新しい行を変更したい場合は、
add 1 + 1
subsract 1 - 1
divide 1/1
multiply 1 * 1
残りの値を5%2で割ると、残りの値
指数2**3の3乗
++を前に貼ることをpreIncrementと言います.
変数に++を加えてpostIncrementと呼ぶ.
割り当てられたオペレータ.
let x = 3;
let y = 6;
複数の演算子のうち1つがtrueの場合はtrueを返します.
→or演算子は、trueが最初に発生したときに停止します.orのいずれかがtrueだからそれがtrueだしたがって、上記のコードではvalue 1が
つまり、計算量の大きい関数を呼び出したり、式を一番前にしたりすると、?🥵
もちろん簡単に一番前に置いて、これらがfalseの時だけ、やっと最後に重いものを呼んだほうがいいです.👏🏻✨👍🏻
trueを返すには、複数の演算子のいずれかがtrueである必要があります.
次のコードはvalue 1がfalseであればgame setです!
后ろが本当かどうかはすべてすでに破れて、后ろの値は何でも構いません.したがってvalue 2とcheckは実行できません.
🤚🏻 また、 often used to compress long if-statement nullableObject && nullableObject.something
→オブジェクトがnullの場合falseになるため、nullabeObject.somethingは実行できません.
→つまり、nullでない場合(=true)のみnullableObjectのsomethingが受信されます.
not演算子値を反転
(タイプ変更でチェック)
△確認タイプに注意し、タイプが異なる場合は他の子です.推奨
学習が平等な場合は、学習対象に注意する必要があります.
🤔
objectはメモリにロードされたときにreference形式で格納されます.上から見ると、mark 1とmark 2は同じデータを含むobjectであるが、実際にはmark 1とmark 2のメモリにはそれぞれ異なるreferenceが含まれており、その異なるreferenceは異なるobjectを指す.また、mark 3にはmark 1のreferenceも割り当てられているので、同じreferenceを有する.
『DREAMCODINGBY ELLY』のYouTube講座を見て整理した内容です
1. String concatenation
①
+
符号により、文字列と文字列を新しい文字列にまとめることができる.console.log('my' + 'dog'); // my dog
②문자열
に숫자
숫자
を加えて문자열
に変換して合わせます.console.log('1' + 2); // 12
③백틱
符号を用いてstring literals
を作成することができる.{変数値の計算}\'
と書きます(反スラッシュと一緒に書きます!)\n
(反スラッシュとn)と書きます.console.log(`string literals: 1 + 2 = ${1 + 2}`); // string literals: 1 + 2 = 3
2. Numeric operators
add 1 + 1
subsract 1 - 1
divide 1/1
multiply 1 * 1
残りの値を5%2で割ると、残りの値
指数2**3の3乗
3. Increment and decrement operators
3-1. preIncrement
++を前に貼ることをpreIncrementと言います.
let counter = 2;
const preIncrement = ++counter; //3 💚
let counter = 2;
counter = counter + 1; // counter에 1을 더해서 다시 counter에 할당하고 (3이 되었다.) 💛
preIncrement = counter; // 그래서 하나가 증가한 상태(3)에서 이 값이 preIncrement 에 할당 💛
→ 💚 部分コードと💛 一部のコードは同じコードです.3-2. postIncrement
変数に++を加えてpostIncrementと呼ぶ.
let counter = 2;
const postIncrement = counter++; 🧡
// 먼저 변수의 값을 postIncrement에 할당한 다음에 그 뒤에 counter 값을 1을 증가시킨다.
let counter = 2;
postIncrement = counter; // 먼저 변수의 값을 postIncrement에 할당한 다음에 🤎
counter = counter + 1; // 그 뒤에 counter의 값을 1 증가시킨다. 🤎
→ 🧡 部分コードと🤎 一部のコードは同じコードです.3-3. preDecrement
preIncrement
のようです.--
度と同じです.は、値を1つずつ減らし、前から割り当てを更新します.let counter = 3;
const preDecrement = --counter; //2
let counter = 3;
counter = counter - 1;
preDecrement = counter;
3-4. postDecrement
postIncrement
と同じです.--
は、1つ1つの減算値であり、後続は割り当てられた更新であり、後続は更新である.let counter = 3;
postDecrement = counter--;
let counter = 3;
postDecrement = counter;
counter = counter - 1;
4. Assignment operators
割り当てられたオペレータ.
let x = 3;
let y = 6;
x += y
の意味はx=x+yx -= y
の意味はx=x-yx *= y
の意味はx=x*yx /= y
の意味はx=x/y5. Comparison operators
10 < 6
less than10 <= 6
less than or equal10 > 6
greater than10 >= 6
greater than or equal6. Logical operators: || , && , ! ⚡️
6-1. || (or)
複数の演算子のうち1つがtrueの場合はtrueを返します.
const value1 = false; //false
const value2 = 4 < 2; //false
console.log(`or: ${value1 || value2 || check()}`);
// 😛 (10번)
// or: true
function check() {
for (let i = 0; i < 10; i++) {
//wasting time
consol.log('😛');
}
return true;
} // check라는 함수는, 앞에서 시간을 조금 낭비하다가 결국 true를 return 해주는 함수이다.
🚨 or演算子の重要なポイント!→or演算子は、trueが最初に発生したときに停止します.orのいずれかがtrueだからそれがtrueだしたがって、上記のコードではvalue 1が
true
であれば、最初がtrueであり、後のcheck関数は再実行する必要がなく、無駄にならないため、コンソールウィンドウ😛 これも出力しません.つまり、計算量の大きい関数を呼び出したり、式を一番前にしたりすると、?🥵
もちろん簡単に一番前に置いて、これらがfalseの時だけ、やっと最後に重いものを呼んだほうがいいです.👏🏻✨👍🏻
6-2. && (and)
trueを返すには、複数の演算子のいずれかがtrueである必要があります.
次のコードはvalue 1がfalseであればgame setです!
后ろが本当かどうかはすべてすでに破れて、后ろの値は何でも構いません.したがってvalue 2とcheckは実行できません.
const value1 = false; //false
const value2 = 4 < 2; //false
console.log(`and: ${value1 && value2 && check()}`);
function check() {
for (let i = 0; i < 10; i++) {
//wasting time
consol.log('😛');
}
return true;
}
🚨 だから(and)重い操作ほど、一番後ろでチェックしたほうがいいです!🤚🏻 また、
and
は簡単なnull検査にもよく用いられる.→オブジェクトがnullの場合falseになるため、nullabeObject.somethingは実行できません.
→つまり、nullでない場合(=true)のみnullableObjectのsomethingが受信されます.
if (nullableObject != null) {
nullableObject.something;
}
// nullableObjeect 가 null이 아니라면, nullableObject의 something을 받아와라
6-3. ! (not)
not演算子値を反転
const value1 = true; //ture
console.log(!value1); //false
→value 1はtrue
なので、not演算子はfalse
に値を逆に出力します.7. Equality
7-1. == loose equality, with type conversion
(タイプ変更でチェック)
const stringFive = '5';
const numberFive = 5;
console.log(stringFive == numberFive); //true
console.log(stringFive != numberFive); //false
7-2. === strict equality, no type conversion
△確認タイプに注意し、タイプが異なる場合は他の子です.推奨
const stringFive = '5';
const numberFive = 5;
console.log(stringFive === numberFive); //false
console.log(stringFive !== numberFive); //true
7-3. object equality by reference
学習が平等な場合は、学習対象に注意する必要があります.
const mark1 = { name: 'mark' , age: 24};
const mark2 = { name: 'mark' , age: 24};
const mark3 = mark1;
console.log(mark1 == mark2); //false
console.log(mark1 === mark2); //false
console.log(mark1 === mark3); //ture
🤔 mark1
とmark2
が異なるのは、それぞれ異なる参照が格納されているからである.🤔
mark1
とmark3
が同じであるのは、mark 1が持つ参照値がmark 3として指定されているため、同じ参照があるからである.objectはメモリにロードされたときにreference形式で格納されます.上から見ると、mark 1とmark 2は同じデータを含むobjectであるが、実際にはmark 1とmark 2のメモリにはそれぞれ異なるreferenceが含まれており、その異なるreferenceは異なるobjectを指す.また、mark 3にはmark 1のreferenceも割り当てられているので、同じreferenceを有する.
Reference
この問題について(TIL 13 | JavaScript Operator), 我々は、より多くの情報をここで見つけました https://velog.io/@saemsol/TIL-13テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol