JavaScript関数オブジェクト、シンボル関数式
3131 ワード
関数=オブジェクト
関数はオブジェクトなので、メソッドを使用したりpropertyを追加したりできます.
記名関数式
関数内で自分を呼び出すために使用します.関数式でのみ使用できます.
矢印関数は使用できません
関数はオブジェクトなので、メソッドを使用したりpropertyを追加したりできます.
function func(a,b, ...rest) {}
console.log(func.name) // func
console.log(func.length) // 2 매개변수 개수 출력
*나머지 표현식(...rest)은 존재하더라도 길이에 포함안됨.
함수에 프로퍼티를 추가
func.counter = 0;
console.log(func.counter) // 0
関数propertyを使用する理由は、モジュールの代わりに使用できるからです.関数内部で宣言された変数は外部からアクセスできません.関数propertyに値を格納する場合は、外部からアクセスできます.記名関数式
関数内で自分を呼び出すために使用します.関数式でのみ使用できます.
矢印関数は使用できません
let sayHi = function hi() {}
보통 함수내부에서도 자신을 호출할 때 sayHi()를 사용하지만 hi()로 호출하면
안전한 점이 있다.
let copy = sayHi
sayHi = null
함수를 카피하고 기존 변수는 제거하거나 다른 용도에 사용하면 sayHi()를 호출할
경우 에러가 나게 되어있다. 하지만 기명 함수 표현식으로 호출하게 되면
에러를 방지할 수 있다.
Reference
この問題について(JavaScript関数オブジェクト、シンボル関数式), 我々は、より多くの情報をここで見つけました https://velog.io/@gytlr01/자바스크립트-함수객체-기명함수-표현식テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol