JavaScript에 대해서 아셔야 할 11가지.
1.null과 미정의
정의되지 않음
undefined
은 변수 값이 정의되지 않았음을 나타낸다.JavaScript에는 정의되지 않은 글로벌 변수가 있으며 값은 정의되지 않음이며 typeof undefined
은 정의되지 않음입니다.undefined는 상수나 키워드가 아니라는 것을 기억하십시오.undefined는 하나의 값만 있는 형식입니다: undefined.새 값을 지정하더라도 정의되지 않은 유형의 값은 변경되지 않습니다.정의되지 않은 8가지 방법:
null
은 빈 값이나 존재하지 않는 값을 표시하고, 프로그램원은 그것을 사용하여 '무값' 을 표시한다.null은 기본값으로 변수에 null을 부여할 수 있습니다.null은 대상이 아닙니다. 기본값입니다.예를 들어, 속성을 추가할 수 없습니다.typeofnull이'object'로 되돌아오기 때문에 사람들이 그것을 대상으로 잘못 생각할 때가 있습니다.2.==Vs===
가장 간단한 말은
==
은 유형을 검사하지 않고, ===
은 양측이 같은 유형인지 검사한다.따라서 ==
pe는 둘 다 같은 유형에 놓고 비교한다.===
비교 유형과 값.그래서 만약 쌍방이 같은 유형이 아니라면 답은 항상 틀렸다.예를 들어 두 문자열을 비교하려면 같은 문자 집합을 가져야 한다.다른 원어(숫자, 부울 값)에서는 동일한 값을 공유해야 합니다.스텔스 강제 규칙:
==
을 사용하여 비교하면 백엔드에서 스텔스 유형 전환을 할 수 있다.잠재적 협박의 규칙은 다음과 같다-===
==
빈 3. 진위
지금 나는 어떤 것이 정확하고 어떤 것이 틀렸는지 토론할 것이다
'False
'이것은 문자열이기 때문에 사실입니다.빈 문자열만 false' '
은 빈 문자열이 아니기 때문에 사실입니다.안에 공백이 하나 있다.{}
진짜예요.이것은 물체다.아무런 속성도 없는 대상은 진짜 대상이 될 것이다.[]
도 사실이다.이것은 하나의 수조 대상이다. (수조는 대상의 하위 대상) 은 진실이다.''
문자열만 4. 이것
JavaScript는 각 함수를 실행할 때 현재 실행 컨텍스트를 참조하는 this라는 함수에 대한 속성을 설정합니다.이것은 항상 대상을 가리키며 함수의 호출 방식에 달려 있다.서로 다른 상황에서 이런 가치는 변화를 일으킬 수 있다.
5.범위
역할 영역은 실행할 때 코드의 특정 부분의 변수, 함수와 대상에 대한 접근성이다.다시 말하면 범위는 변수와 기타 자원이 코드 영역에서의 가시성을 결정한다.
JavaScript 언어에는
6. 글로벌 범위
// the scope is by default global
var name = 'Chayan';
전역 범위 내의 변수는 다른 범위 내에서 접근하고 변경할 수 있습니다.var name = Chayan;
console.log(name); // logs Chayan
function logName() {
console.log(name); // 'name' is accessible here and everywhere else
}
logName(); // logs Chayan
7. 부분 범위
함수에 정의된 변수는 국부 범위 내에 있다.그것들은 이 함수의 매번 호출에 대해 서로 다른 작용역을 가지고 있다.이것은 같은 이름을 가진 변수가 서로 다른 함수에서 사용할 수 있다는 것을 의미한다.이것은 이러한 변수가 각자의 함수에 귀속되어 있고 함수마다 서로 다른 작용역이 있기 때문에 다른 함수에 접근할 수 없기 때문이다.
8.블록범위
함수와 달리 if와 switch 조건이나 for와while 순환 등 블록 문장은 새로운 역할 영역을 만들지 않습니다.Block 문장에 정의된 변수는 이미 존재하는 범위 내에 보존됩니다.
if (true) {
// this 'if' conditional block doesn't create a new scope
var name = Chayan; // name is still in the global scope
}
console.log(name); // logs Chanyan
9. 귀속, 호출과 응용 사이의 차이
call()과 apply() 방법 사이에 혼동이 생기는 주요 원인은 이것을 제외한 다른 매개 변수를 어떻게 전달하는가이다.우리는 왜 bind()를 사용해야 합니까?
이 세 가지를 쉽게 구분하는 법을 배워보자.
적용()
apply(this [, [arg1, arg2,...]])
: 제공된 이 값을 사용하여 함수를 호출합니다.더 많은 매개 변수는 하나의 그룹으로 제공됩니다.Way to remember: “Apply accepts arguments as an Array” or “AA”
전화()
call(this [, arg1, arg2...])
: 제공된 함수 호출 함수를 사용합니다.추가 매개 변수는 쉼표로 구분된 목록 형식으로 제공된다Ways to remember: “Call’s arguments are separated by commas” or “CC”.
바인딩()
bind(this)
: 새 함수를 되돌려줍니다. 이 함수의 이 값은 제공된 값에 귀속됩니다.Ways to remember: bind() is the only method out of the three that returns a new function altogether. It does not call the function.
10. JavaScript 클립
클로징은 JavaScript의 중요한 개념입니다.이것은 광범위하게 토론되었지만 여전히 혼동된 개념이다.끝이 뭔지 알아봅시다.
패킷을 닫는 것은 내부 함수가 외부 함수의 변수와 파라미터에 항상 접근할 수 있음을 의미하며, 외부 함수가 되돌아온 후에도 마찬가지다.내부 함수는 외부 함수의 변수와 파라미터에 접근할 수 있다.아래의 예를 고려하다.
function OuterFunction() {
var outerVariable = 1;
function InnerFunction() {
alert(outerVariable);
}
InnerFunction();
}
이 예에서 InnerFunction()은 outerVariable에 액세스할 수 있습니다.현재, 위의 정의에 따라 InnerFunction () 은 단독으로 실행되더라도 outerVariable에 접근할 수 있습니다.아래의 예를 고려하다.
function OuterFunction() {
var outerVariable = 100;
function InnerFunction() {
alert(outerVariable);
}
return InnerFunction;
}
var innerFunc = OuterFunction();
innerFunc(); // 100
위의 예에서 OuterFunction()을 호출하면 return InnerFunction;
이 OuterFunction에서 InnerFunction으로 돌아갑니다.변수 innerFunc
은 OuterFunction() 대신 InnerFunction()만 참조합니다.현재 innerFunc () 를 호출할 때, OuterFunction () 에서 설명한 outerVariable
에 접근할 수 있습니다.이것은 폐쇄라고 한다.11. 포장
포장은 정보의 숨김을 의미한다.대상의 내부 부분을 최대한 많이 숨기고 최소한의 공공 인터페이스를 공개하는 것이다.
JavaScript에서 패키지를 만드는 가장 쉽고 우아한 방법은 클립을 사용하는 것입니다.패킷을 닫으면 개인 상태를 가진 함수로 만들 수 있습니다.같은 사유 상태를 공유하는 여러 개의 클립을 만들 때, 우리는 대상을 만듭니다.
Reference
이 문제에 관하여(JavaScript에 대해서 아셔야 할 11가지.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/chayan/top-11-things-you-should-be-know-about-javascript-1ei2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)