<>: 3
제3장 함수
1. 함수 인삼의 기본값
function makeRequest(url, timeout = 2000, callback = function() {}) {
}
2.arguments는 비엄격한 모드에서 명칭 매개 변수의 변화가 arguments 대상에 동시에 업데이트되지만, ESMAScript5의 엄격한 모드에서 arguments 대상의 감동적인 의혹을 취소하는 행위
function(first) {
console.log(first === arguments[0]); // true (ESMAScript5 : true)
first = "c";
console.log(first === arguments[0]); // true (ESMAScript5 : false)
}
ECMAScript6 , , , arguments ECMAScript5
3. 기본 매개변수 표현식
function getValue() {
return 5;
}
function add(first, second = getValue()) {
}
console.log(add(1, 1)); // 2
console.log(add(1)); // 6
4. 부정확한 매개 변수는 함수의 명명 매개 변수 앞에 세 개의 점을 추가합니다 (...)이것은 부정확한 매개 변수임을 나타낸다. 이 매개 변수는 하나의 수조이다
function pick(object, ...keys) {
let result = Object.create(null);
for(let i = 0, len = keys.length; i < len; i++) {
result[keys[i]] = object[keys[i]];
}
return result;
}
5. 전개 연산자 전개 연산자는 부정확한 매개 변수와 유사하다(기능이 상반되는 것처럼) 전개 연산자는 지정한 수조를 열어 함수를 독립적으로 전달할 수 있다
: Math.max() ,
+
let values = [25, 50, 75, 100];
console.log(Math.max.apply(Math, values));
+
console.log(Math.max(...values));
6.name 속성은 익명 함수 표현식의 광범위한 사용을 해결하기 위해 디버깅 난이도를 증가시켰고, ES6는name 속성을 증가시켰다
function doSomething() {}
var doOther = function() {}
console.log(doSomething.name);
console.log(doOther.name);
7. 메타 프로퍼티(Metaproperty) new.target은 new 키워드를 통해 호출되는지 판단하기 위해 ES6에 new를 도입합니다.target (주의점: 함수에서만 사용) 이 메타속성
function Person(name) {
if(typeof new.target !== 'undefined') {
this.name = name;
}else {
throw new Error(' new ');
}
}
var p = new Person("Jack");
var notP = Person.call(p, "Rose"); //
8. 블록급 함수 블록급 함수와let 함수의 차이:let 함수는 향상되지 않습니다
"use strict";
if(true) {
console.log(typeof doSomething); //
let doSomething = function() {}
doSomething();
}
console.log(typeof doSomething);
9. 화살표 함수
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.