inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

모던 자바스크립트(ES6+) 심화

3. Endian: Endian 개요, Endian 구분, Endian 차이 대처, setInt16()

질문있습니다!

289

twosom

작성한 질문수 69

1

                            /* 4바이트 만큼의 버퍼 생성 */
const buffer = new ArrayBuffer(4);
/* 생성한 버퍼를 이용하여 DataView 생성 */
const view = new DataView(buffer);
/* setInt16 이면 2바이트 이므로 총 2개의 Element 생성 가능??? */
/* byteOffset 0부터 시작이면 2 일 때는 [0, 1, 2] 해서 3번째 Element 에 설정??? */
view.setInt16(2, 100, true);
console.log(view.getInt16(2, true));
console.log(view.getInt16(2));

위에서 setInt16 의 byteOffset에 2가 들어갔는데도 값이 설정되는 이유를 알고싶습니다. 

setInt8에서는 setInt8 로 하여 byteOffset을 이리저리 설정해 보며 실행해봤지만 거기서 제가 든 의문은 여기서 생성한 ArrayBuffer는 분명 4바이트인데,

setInt16이면 하나의 엘리먼트에 2바이트가 할당이 되지 않나요? 

엔디언...인디언... 이것 때문에 순서가 설정되는게 바뀌는건지 아직 감이 안잡히네요 ㅠㅠ

javascript es6

답변 1

1

김영보

view.setInt16(2, 100, true);
위에서 setInt16 의 byteOffset에 2가 들어갔는데도 값이 설정되는 이유를 알고싶습니다.
==>
offset은 0번 인덱스부터 떨어지 위치(인덱스)입니다. 2번 인덱스부터 2바이트 단위(setInt16)로 100을 설정하므로 설정됩니다. 즉, 2번과 3번 인덱스의 2바이트를 사용하여 100을 설정합니다.

따라서 아래 코드도 값이 설정됩니다.
view.setInt16(1, 100, true);

하지만, 아래 코드는 3번 인덱스부터 시작하므로 2바이트 단위에 맞지 않아 에러가 납니다.
view.setInt16(3, 100, true);

0

twosom

앗! 그렇다면 byteOffset이 Int16Array의 엘리먼트 단위가 아닌 "바이트" 단위였던거군요!

어쩐지 Int8Array에서는 바이트단위로 쏙쏙 들어간다 싶었습니다! 

답변 감사합니다! 궁금한 점이 시원하게 해결되었습니다!

0

김영보

이해가 매우 빠르시네요. 개발자 DNA를 가진 듯 합니다. 응원합니다.^^

저자 블로그에 있는 강의는 어떤 강의인가요?

0

7

0

[해결됨]윈도우즈 환경에서 타입 스크립트 파일이 실행이 안됩니다.

1

24

5

4강 카드뉴스 자동화 자료가 안보입니다!!

0

33

2

윈도우즈 환경에서 진행중입니다.

0

28

2

4강 카드뉴스 자동화 자료

4

74

1

라이브 강의 영상 녹화본이 있을까요?

0

73

1

인증이 늦었습니다ㅜㅜ 확인부탁드립니다

0

71

1

스웨거 접속이 안되는데 확인 부탁드립니다.

0

45

1

설명이 잘못된거같습니다.

1

53

2

자바스크립트 주석에 이상한 점이 있어서 문의드립니다.

0

617

1

소스코드 깃헙이 있나요?

0

359

0

5:00 event.type = undefined

0

560

1

response object

0

281

0

비동기 통신, 실행

0

305

1

프로미스를 쓰는 이유

0

262

0

set() 트랩 준수사항에 대해서 질문입니다!

0

211

0

throw 대신 return으로 에러를 반환하는 이유가 궁금합니다.

0

504

0

try-catch 사용에 대하여

0

252

0

클래스는 호이스팅이 되지 않나요?

0

260

0

constructor(){ super() }; 에 대해 문의 드립니다.

0

211

0

질문있습니다~!

0

447

1

강의 자료 관련 문의

0

329

0

질문드립니다!

0

210

1

실무 질문

0

337

3