inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바스크립트 비기너: 튼튼한 기본 만들기

3. length 프로퍼티, length 값 반환 논리

프로퍼티

154

김민기

작성한 질문수 5

1

그러면 

  let Sobj = new String('ABC'); 

  console.log(Sobj[0]);       ->  A

  console.log(Sobj.0)           -> Uncaught SyntaxError: missing ) after argument list

처럼 문법 오류가 뜨는 이유를 좀 알 수 있을까요?

javascript oop

답변 1

2

김영보

// 강좌 뒤에서 다루므로 간단하게 답합니다.

// 아래에서 obj["0"]과 obj[0] 형태 모두 100을 반환합니다. 이것은 0을 프로퍼티 이름(키)로 사용한 것으로 빝트인 Object는 이렇게 값을 구할 수 있습니다.
var obj = {0: 100};
console.log(obj["0"]);
console.log(obj[0]);

// obj.length 값으로 undefined가 출력됩니다.
console.log(obj.length);

//----------
// likeObj.length 값으로 3이 출력됩니다. 엔진이 {0: "A", 1: "B", 2: "C", length: 3} 형태로 저장합니다.  이 형태를 Array-like라고 합니다. Array-like의 시맨틱에서 느낄 수 있듯이 Array Like 형태입니다. 
var likeObj = new String("ABC");
console.log(likeObj.length);

// A, B, C가 각각 출력됩니다.
for (var el of likeObj){
  console.log(el);
};

// Array-like에서 0, 1, 2가 인덱스 개념이므로 배열 인덱스 형태로 값을 구할 수 있습니다console.log(likeObj[0]);

// 한편 Array-like의 0, 1, 2가 프로퍼티 이름이 아니라 인덱스 개념이므로
// likeObj.0 형태로 접근하면 에러가 납니다.

프론트엔드 부트캠프 가기 전, 짧은 감사 인사드립니다!

2

109

2

섹션10 3. Object 프리미티브 값 구하기에서 질문있습니다.

1

148

2

섹션3의 1강 연산자, 표현식 강의에서 표현식 질문이 있습니다.

0

140

2

섹션 1. 6번째 강의 질문입니다.

1

246

1

선생님 Objcet 질문 있습니다.

0

299

2

forEach문을 활용한 코딩시간 풀이

0

616

1

sort 코딩 시간 풀이

0

292

1

코딩 시간 풀이 올려봅니다.

0

229

1

인덱스 코딩시간 문제풀이

0

381

1

for문 코딩 시간 답제출

0

306

1

3:39 sort에 들어가서 one,two 파라미터질문입니다.

0

194

0

퀴즈 질문 및 정답

0

356

1

오브젝트

0

283

1

인스턴스 목적

1

239

1

[코딩시간 01] 3항 연산자로 작성했을 때, 각 값..?

0

269

1

Undefined === Null; // true???

0

194

1

indexOf의 파라미터에 음수를 작성 했을때에 대한 질문입니다.

0

1031

5

length 값 변환 논리에 대한 질문입니다.

0

211

1

상수 변수 선언에 대해

0

235

1

코딩 시간 (for문) 풀이

0

255

1

Object vs object

1

498

1

코딩 시간 풀이입니다.

0

195

1

log(add(1, 2, 3, 4));

0

177

1

코딩시간 답 제출

0

196

1