いくつかのランダムトリッキーなJavaScriptのスタッフ


1 . NULLと未定義
これらはあなたが未定義になるいくつかの方法です.
名前を付けましょう;
コンソール.ログ(名前);/未定義
b )関数が返さない場合
function add(num1,num2){
console.log(num1+num2);
}
const res = add(5,6);
console.log(res);//11 undefined

const res2 = add(5);
console.log(res2);//undefined
c行方不明のオブジェクトのプロパティを呼び出します
const movie = {name:'Social Network', director:'david Fincher',year:'2011'};
console.log(movie.cast);//undefined
d )定義されていない変数を設定した場合
let a = undefined;
console.log(a);
NULLは空を意味する.変数NULLを設定できます.
2 .二重等価(= =)対三重等価( == = )
Double Equalsは3倍の等しいチェックかどうかを変数の型をチェックしません.
const num1 = 5; //integer
const num2 = "5"; // String
if(num1==num2){
console.log("This is true");
}else{
console.log("This is false");
}
//Output: This is true.

if(num1===num2){
console.log("This is true");
}else{
console.log("This is false");
}
//Output: This is false.
閉鎖対ブロック範囲
スコープ:関数の内部から何かにアクセスします.例えば、
function add(num1,num2){
const res = num1+num2;
return res;
}
console.log(res);//error, because res is a variable inside the function, we can't access it from outside.
グローバルスコープ:変数がグローバルに宣言されると、関数の外部からアクセスできます.
let total = 100;
function sub(num3){
return total+num3;
}
console.log(total);//here we can access the total variable from outside of the function.
ブロックスコープ:2番目の括弧内の変数を宣言するとき.彼らはその地域の外からはアクセスできない.
{ } =ブロックをブロックします.
if(number >10){
let response = 'Happy';
console.log(response);
}

console.log(response); // error
注意:変数を宣言するためにvarを使用する場合.エラーが表示されません.
if(number >10){
var response = 'Happy';
console.log(response);
}
console.log(response); //no error
重要:「変数」のスコープ内で' var 'を使用して変数を宣言するとJavaScriptでhoistingと呼ばれます.スコープの外側の変数をグラブし、グローバル変数として表示します.
クロージャ:関数が別の関数を返すとき.クロージャは、内部関数から外側の関数のスコープへのアクセスを可能にします.JavaScriptでは、関数作成時に関数が作成されるたびにクロージャが作成されます.
function increase(){
let count = 0;
return function(){
count++;
return count;
}
}
const res1 = increase();
console.log(res1);//1
console.log(res1);//2
console.log(res1);//3

const res2 = increase();
console.log(res2);//1
console.log(res2);//2

console.log(res1);//4
4配列から削除する
const name = [2,2,3,3,4,5,6];
const uniqueName = [];
for(let i =0;i<name.length;i++){
let element = name[i];
let index = uniqueName.indexOf(element);
if(index==-1){
uniqueName.push(element);
}
}
console.log(uniqueName);//[2,3,4,5,6]
5 .文字列を反転する
function reverseString(str){
const reverse ='';
for (let i=0;i<str.length;i++){
let char = str[i];
reverse = char+reverse;
}
return reverse;
}
const sentence = 'Hello programming community';
const result = reverseString(sentence);
console.log(result);
非同期
JavaScriptは同期的に動作します.と言うことによって、JavaScriptのコードは別の後に1行作業を終了することを意味します.例
function movie(){
console.log('Ironman1');
}
console.log('Ironman2');
console.log('Ironman3');
//Output: 
Ironman1
Ironman2
Ironman3
しかし、JavaScriptを非同期にすることができます.settimeout ()メソッドを使用することで、関数やタスクを保持します.
function movie(){
console.log('Ironman1');
}
setTimeout(movie);
console.log('Ironman2');
console.log('Ironman3');
//Output: 
Ironman2
Ironman3
Ironman1
注意:関数がどのくらい保持されるかについては、特定の時間を設定することもできます.
setTimeout(movie,10000);//here time is in mili second.イベントループとイベントブランク
8 let constとvar
再帰関数
コールバック関数
11 . CRUD操作