속성은 색상, 크기, 무게 등 개체의 특성을 나타내는 데 사용되는 변수이고, 메서드는 달리기, 호흡, 점프 등 개체의 동작을 나타내는 데 사용되는 함수입니다.
JavaScript에서 "." 연산자는 일반적으로 개체의 속성 값에 액세스하는 데 사용됩니다. 또는 []를 연관 배열로 사용하여 객체의 속성에 액세스합니다.
객체의 속성과 메서드를 집합적으로 객체의 멤버라고 합니다.
객체 속성에 액세스
JavaScript에서는 "." 및 "[]"를 사용하여 개체의 속성에 액세스할 수 있습니다.
1. 개체 속성에 액세스하려면 "."을 사용하세요.
구문:
객체 이름.속성 이름
그 중 objectName은 객체 이름이고 propertyName은 속성 이름입니다.
2. "[ ]"를 사용하여 개체 속성에 액세스합니다
구문:
객체 이름[속성 이름]
그 중 objectName은 객체 이름이고 propertyName은 속성 이름입니다.
객체에 액세스하는 방법
JavaScript에서는 "."만 사용하여 개체의 메서드에 액세스할 수 있습니다.
구문:
objectName.methodName()
그 중 objectName은 객체 이름이고 methodName()은 함수 이름입니다.
[예시 5-1] Person 클래스 생성:
function Person() { this.name=" 张三 "; // 定义一个属性 name this.sex=" 男 "; // 定义一个属性 sex this.age=22; // 定义一个属性 age this.say=function(){ // 定义一个方法 say() return "嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex + ",今年 " + this.age +"岁!"; } } var zhangsan=new Person(); alert("姓名:"+zhangsan.name); // 使用“.”来访问对象属性 alert("性别:"+zhangsan.sex); alert("年龄:"+zhangsan["age"]); // 使用“[ ]”来访问对象属性 alert(zhangsan.say); // 使用“.”来访问对象方法
PS: 개체 액세스 속성의 "." 및 "[]" 메서드 간의 차이점에 대한 간략한 분석
JavaScript에서 "." 연산자는 일반적으로 개체의 속성 값에 액세스하는 데 사용됩니다. 또는 []를 연관 배열로 사용하여 객체의 속성에 액세스합니다. 그런데 이 두 가지 방법의 차이점은 무엇입니까?
예를 들어 객체의 속성 속성 값을 읽습니다.
객체.속성
객체['속성']
위의 두 가지 방법 모두 속성 액세스를 달성할 수 있습니다.
1. 문법의 차이
점 표기법으로 표현된 객체의 속성 이름은 식별자이고 후자의 속성 이름은 문자열입니다.
2. 유연성의 차이
JavaScript 프로그래밍에서는 객체에 대한 속성을 원하는 만큼 생성할 수 있습니다. 그러나 "." 연산자를 사용하여 개체의 속성에 액세스하면 속성 이름이 식별자로 표시됩니다. JavaScript 프로그램에서는 식별자를 문자 그대로 입력해야 하며, 이는 데이터 유형이 아니므로 프로그램이 해당 식별자에 대해 작업을 수행할 수 없습니다. 즉, 식별자는 정적이므로 프로그램에 하드코딩되어야 합니다.
array[] 표기법을 사용하여 객체의 속성에 액세스할 때 속성 이름은 문자열로 표시됩니다. 문자열은 JavaScript 데이터 유형이므로 프로그램이 실행되는 동안 조작하고 생성할 수 있습니다.
3. 성능 차이
Array[] 표기법은 속성 값에 액세스할 때 표현식 작업을 수행합니다. 점 표현은 속성 값에 직접 접근하므로 이론적으로 배열 표현보다 실행 효율성이 더 높습니다. 실제로 성능은 무시할 수 있습니다.
일부 시나리오에서는 점 표현으로는 달성할 수 없는 속성 값에 동적으로 액세스하기 위해 배열 표현을 사용해야 합니다.
일반적으로 이 두 가지 방법에는 큰 차이가 없으며 둘 다 해당 사용 시나리오가 있습니다. 점 표기법은 일반적으로 속성에 액세스하기 위한 정적 개체로 사용됩니다. 배열 표현은 속성에 동적으로 액세스할 때 매우 유용합니다.