임의의 까다로운 자바스크립트 스태프

4201 단어 javascript
1. 널 대 정의되지 않음
다음은 정의되지 않은 몇 가지 방법입니다.
a) 이름;
console.log(이름);//정의되지 않음

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.이중 등호(==) 대 삼중 등호(===)
이중 등호는 삼중 등호 검사 여부를 변수 유형을 확인하지 않습니다.

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.


3. 폐쇄 대 블록 범위
범위: 함수 내부에서 액세스합니다. 예를 들어,

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.


블록 범위: 두 번째 괄호 안에 변수를 선언할 때. 지역 외부에서는 액세스할 수 없습니다.
{} =차단된 범위.

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에서는 함수가 생성될 때마다 함수가 생성될 때마다 클로저가 생성됩니다.

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);


6.비동기
자바스크립트는 동기적으로 작동합니다. 즉, 자바 스크립트 코드는 한 줄씩 작업을 끝냅니다. 예시...

function movie(){
console.log('Ironman1');
}
console.log('Ironman2');
console.log('Ironman3');
//Output: 
Ironman1
Ironman2
Ironman3


그러나 우리는 자바스크립트를 비동기식으로 만들 수 있습니다. 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.
7. 이벤트 루프와 이벤트 부블
8. let const 및 var
9.재귀 함수
10.콜백 기능
11.CRUD 동작

좋은 웹페이지 즐겨찾기