Console.log与打印输出变量

时间:2018-02-21 17:19:42

标签: javascript console console.log

为什么我使用console.log在控制台窗口中打印出一个不在引号中的字符串的值,但是当我在控制台中输出变量时,它会打印引号。这有什么特别的原因吗?

var test = “hello”; 
test; 
Output : “hello”

Console.log(test); 
Output: hello

3 个答案:

答案 0 :(得分:0)

好吧,看到这样。



var test = "hello"; 
test;  // This is object in self and what is it,
       // it is a string in literal 

// Output comes only from debugger , when you input direct.
// test; this line have no output to the console
// Output : "hello" NO

//console.log(test); // console.log already print string (in native/string is output) but also print objects.
// Output: hello YES

console.log( test + " this is the test")

// See output it is a very clear 
// hello this is the test




答案 1 :(得分:0)

默认行为是将字符串与控制台中的引号一起表示。

a = 'hi';
a
// returns "hi"

控制台 api不同且异常。

console.log(object [,object,...]) 在控制台中显示消息。将一个或多个对象传递给此方法。评估每个对象并将其连接成以空格分隔的字符串。

因此它返回一个以空格分隔的连接字符串。这意味着它永远是一个字符串。由于它总是一个字符串,我们可以取消引号。我想控制台devs让它成为一种方式来指出console.log()将始终返回相同的类型(字符串)。添加引号可能意味着它可能会返回其他内容,因此它似乎是控制台的UX事物。

答案 2 :(得分:0)

JavaScript是动态类型的,这意味着变量可以随时存储任何类型的值。如果您调用存储字符串的变量(在您的情况下为测试),它将打印出值“ Hello”以指示其字符串并返回字符串数据类型,这很简单。但是数字也可以是字符串,例如var a =“ 5”。另一方面,console.log()只是在变量内部打印值,默认情况下返回undefined。

var a = "hello";
// To check the return type of variable a which is string
console.log(typeof(a));

// To check the return type of console.log() which is undefined

console.log(typeof(console.log(a)));