Erros com unidades de medida em JavaScript

Muitas vezes é fácil errar e esquecer as unidades de medida. Por exemplo, assim:

javascriptlet width = 100;
elem.style.width = width; // ops...

O correto é especificar o valor em pixels:

javascriptlet width = 100;
elem.style.width = width + 'px';

Vamos imaginar que queremos aumentar a largura em um determinado valor. Para isso precisamos primeiro ler a largura, depois extrair o número, adicionar a ele o valor desejado, adicionar 'px' e só então escrever de volta:

javascriptlet widthPx = elem.style.width;
let widthNm = parseInt(widthPx);
elem.style.width = (widthNm + 30) + 'px';
Задание 1

Explique qual é o erro no seguinte código:

html<div style="font-size: 16px;">
  text
</div>
javascriptlet elem = document.querySelector('div');
elem.style.fontSize = elem.style.fontSize + 2;
Задание 2

Explique qual é o erro no seguinte código:

html<div style="font-size: 16px;">
  text
</div>
javascriptlet elem = document.querySelector('div');
elem.style.fontSize = parseInt(elem.style.fontSize + 2) + 'px';
Задание 3

Explique qual é o erro no seguinte código:

html<div style="font-size: 2.5em;">
  text
</div>
javascriptlet elem = document.querySelector('div');
elem.style.fontSize = parseInt(elem.style.fontSize) + 2 + 'em';
Задание 4

Dado um div:

html<div id="elem" style="width: 300px; height: 200px; border: 1px solid red;">
  text
</div>

Há também um botão. Ao clicar no botão aumente a largura e a altura do div em 50px.

Задание 5

Dado um div:

html<div id="elem" style="width: 300px; height: 200px; border: 1px solid red;">
  text
</div>

Há também um botão. Ao clicar no botão aumente a largura e a altura do div em 10%.